Automattic / Automattic/VIP-Coding-Standards
WordPressVIPMinimum.Variables.ServerVariables.UserControlledHeaders wrong & incomplete
- Vorherrschende Sprache
- PHP
- Sterne
- 261
- Forks
- 44
- Ø Merge
- 19 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
1) I get 1) WordPressVIPMinimum.Variables.ServerVariables.UserControlledHeaders even when it's perfectly fine sanitized:
`$user_ip = filter_var( $_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP );`
or with wp only functions (though I'm not sure if it really is properly sanitized then)
`sanitize_text_field( wp_unslash( $_SERVER['HTTP_X_FORWARDED_FOR'] ) )`
What is the correct way of validating this this sniff expects?
2) this error doesn't make much sense, as it's limited to 3 headers. But there is an arbitrary number of HTTP headers the client could send which would not trigger this error but may be used.
E.g. when using cloudflare there's also the CF_IPCOUNTRY,... headers which would also need to be added to the check.
Beitragsleitfaden
Rechercherichtung
Beginne damit, den Sniff WordPressVIPMinimum.Variables.ServerVariables.UserControlledHeaders zu finden und sein Verhalten anhand der beiden PHP-Beispiele im Bericht nachzustellen. Untersuche, wie er Validierung erkennt und welche Client-Header er prüft, und ermittle anschließend die Tests oder Fixtures, die das erwartete Verhalten festlegen. Erledigt ist die Aufgabe, wenn die Hinweise zur Validierung und die Abdeckung der Header explizit gemacht und verifiziert wurden.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- php, wordpress
- Bereich
- security, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 35/100