Veraltung der Konstante FILTER_SANITIZE_STRING
Mit der Veröffentlichung von PHP 8.1 wurde die Konstante FILTER_SANITIZE_STRING veraltet. Dies hat bei Entwicklern, die sich zuvor auf diesen Filter zur Bereinigung von String-Eingaben verlassen haben, Bedenken geweckt.
Warum war FILTER_SANITIZE_STRING veraltet?
Laut der PHP-Community war FILTER_SANITIZE_STRING unklar Zweck und könnte zu Verwirrung führen. Es entfernte willkürliche Inhalte, ohne eine klare Erklärung ihrer Funktionsweise zu liefern. Darüber hinaus wurde es durch effektivere String-Desinfektionstechniken ersetzt.
Womit können Sie es ersetzen?
Es gibt mehrere Optionen, um das Veraltete zu ersetzen FILTER_SANITIZE_STRING:
Beispiel Polyfill
function filter_string_polyfill(string $string): string { $str = preg_replace('/\x00|<[^>]*>?/', '', $string); return str_replace(["'", '"'], ['&#39;', '&#34;'], $str); }
Best Practice: Escape-Ausgabe
Es ist wichtig zu betonen, dass die Bereinigung auf Ausgabedaten und nicht auf Eingabedaten angewendet werden sollte. Indem Sie Sonderzeichen in der Ausgabe maskieren, verhindern Sie, dass schädliche Skripte oder Daten Ihre Anwendung beeinträchtigen.
Das obige ist der detaillierte Inhalt vonWas ist der beste Weg, das veraltete PHP FILTER_SANITIZE_STRING zu ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!