非推奨のフィルター定数の置き換え: FILTER_SANITIZE_STRING および FILTER_SANITIZE_STRIPPED
PHP 8.1 では、定数フィルター FILTER_SANITIZE_STRING およびFILTER_SANITIZE_STRIPPED は非推奨になりました。これは、以前に文字列のサニタイズにこれらのフィルターを使用していた開発者の間で懸念を引き起こしました。
非推奨の理由
これらのフィルター定数は、その目的がわかりにくく、不明瞭であると考えられていました。これらの機能は他の文字列フィルターと重複しており、混乱と一貫性のない結果を引き起こしていました。 PHP コミュニティは、サポートを終了することを決定しました。
置換オプション
これらの非推奨のフィルタを置換するために使用できるオプションがいくつかあります。
次のコードは、次のポリフィル関数を示しています。 filter_string_polyfill:
function filter_string_polyfill(string $string): string { $str = preg_replace('/\x00|<[^>]*>?/', '', $string); return str_replace(["'", '"'], ['&#39;', '&#34;'], $str); }
入力のサニタイズは、出力のエスケープよりも効果が低いことに注意してください。潜在的に脆弱なデータを表示または使用する前にエンコードすることに重点を置きます。
以上が非推奨の PHP 8.1 文字列サニタイズ フィルター (FILTER_SANITIZE_STRING および FILTER_SANITIZE_STRIPPED) を置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。