定数 FILTER_SANITIZE_STRING の非推奨
PHP 8.1 のリリースにより、定数 FILTER_SANITIZE_STRING は非推奨になりました。このため、これまで文字列入力のサニタイズにこのフィルターに依存していた開発者の間で懸念が生じています。
FILTER_SANITIZE_STRING が非推奨になったのはなぜですか?
PHP コミュニティによると、FILTER_SANITIZE_STRING には不明な点がありました。目的が異なり、混乱を招く可能性があります。その機能について明確な説明を提供せずに、任意のコンテンツを削除しました。さらに、より効果的な文字列サニタイズ技術に置き換えられました。
何に置き換えることができますか?
非推奨の文字列を置き換えるオプションはいくつかあります。 FILTER_SANITIZE_STRING:
例Polyfill
function filter_string_polyfill(string $string): string { $str = preg_replace('/\x00|<[^>]*>?/', '', $string); return str_replace(["'", '"'], ['&#39;', '&#34;'], $str); }
ベスト プラクティス: 出力のエスケープ
サニタイズは入力データではなく出力データに適用する必要があることを強調することが重要です。出力内の特殊文字をエスケープすることで、悪意のあるスクリプトやデータがアプリケーションに影響を与えるのを防ぎます。
以上が非推奨の PHP FILTER_SANITIZE_STRING を置き換える最善の方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。