ホームページ >バックエンド開発 >PHPチュートリアル >非推奨となった PHP の FILTER_SANITIZE_STRING 定数と FILTER_SANITIZE_STRIPPED 定数の最良の代替物は何ですか?

非推奨となった PHP の FILTER_SANITIZE_STRING 定数と FILTER_SANITIZE_STRIPPED 定数の最良の代替物は何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-30 20:26:12979ブラウズ

What are the Best Replacements for the Deprecated PHP FILTER_SANITIZE_STRING and FILTER_SANITIZE_STRIPPED Constants?

減価償却に関するお知らせ: 定数 FILTER_SANITIZE_STRING は非推奨になりました

PHP 8.1 では、定数 FILTER_SANITIZE_STRING および FILTER_SANITIZE_STRIPPED が廃止されました。廃止されました。ここで疑問が生じます: これらの定数の適切な代替は何ですか?

減価償却の根拠

これらのフィルターはその目的が不正確であり、混乱を招く可能性があります。これらの機能は、デフォルトの文字列フィルター FILTER_UNSAFE_RAW として誤解されることがよくありました。その結果、PHP コミュニティではその使用が非推奨になりました。

置換オプション

FILTER_SANITIZE_STRING とFILTER_SANITIZE_STRIPPED:

  • FILTER_UNSAFE_RAW: このフィルタはフィルタリングを適用せず、特定のサニタイズが必要ない場合に使用できます。
  • htmlspecialchars(): この機能を使用して XSS 脆弱性から保護します入力をサニタイズするのではなく、出力をエンコードすることによって。
  • カスタム正規表現ポリフィル: 特定の機能が必要な場合、非推奨のフィルターの動作を複製するために正規表現ポリフィルを作成できます:
function filter_string_polyfill(string $string): string
{
    $str = preg_replace('/\x00|<[^>]*>?/', '', $string);
    return str_replace([&quot;'&quot;, '&quot;'], ['&amp;#39;', '&amp;#34;'], $str);
}

ベスト プラクティス: 出力エスケープ

入力のサニタイズはセキュリティ リスクの防止には効果的ではないことを覚えておくことが重要です。代わりに、XSS 脆弱性から保護するために出力をエスケープすることに重点を置きます。これにより、受信した可能性のある悪意のある入力に関係なく、出力が安全であることが保証されます。

以上が非推奨となった PHP の FILTER_SANITIZE_STRING 定数と FILTER_SANITIZE_STRIPPED 定数の最良の代替物は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。