ホームページ > バックエンド開発 > PHPチュートリアル > PHPフィルターでデータを消毒および検証します

PHPフィルターでデータを消毒および検証します

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-27 09:55:14
オリジナル
135 人が閲覧しました

Sanitize and Validate Data With PHP Filters

効果的なデータ検証は、安全で堅牢なWebフォームに重要です。 無効なデータは、セキュリティの脆弱性とWebサイトの誤動作を作成する可能性があります。このチュートリアルでは、PHPの機能がユーザー入力を効率的に消毒および検証し、これらの問題を防止する方法を示しています。 filter_varなぜデータの消毒が見落とされがちなのか

多くの開発者は、データ検証が退屈で、しばしば

を含むと感じています

考えられるすべての入力変動との徹底的な比較。
    すべての可能性を処理するための複雑な正規表現を作成します
  • または両方の組み合わせ、時間のかかる作業と高いエラー率につながります。
  • 幸いなことに、PHPは合理化されたソリューションを提供します PHPの
  • function
  • を活用します
PHPの

関数はプロセスを簡素化します。その構文は次のとおりです

filter_var

:フィルタリングするデータ。

filter_var

:フィルターID(例えば、
filter_var( mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0 ): mixed
ログイン後にコピー
    )。
  • $value
  • :フィルターのカスタマイズのためのオプションのパラメーター。 フィルター障害で
  • を返します。$filter FILTER_SANITIZE_EMAIL FILTER_VALIDATE_INT
  • でデータを消毒します $optionsFALSE電子メールの消毒:

filter_varフィルターは、電子メールアドレスから違法な文字を削除します。 たとえば、

url sanitization:

同様に、有害なキャラクターのURLをクリーニングします:FILTER_SANITIZE_EMAIL

$email = "test\"';DROP TABLE users;--@example.com";
$sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL);
echo $sanitizedEmail; // Outputs: test@example.com (malicious script removed)
ログイン後にコピー

でデータを検証します

IPアドレスの検証:FILTER_SANITIZE_URL

$url = "http://example.com/?param=<🎜>";
$sanitizedUrl = filter_var($url, FILTER_SANITIZE_URL);
echo $sanitizedUrl; // Outputs: http://example.com/?param= (script removed)
ログイン後にコピー

filter_var整数検証:

実用アプリケーション:電子メールの送信フォーム

$ip = "127.0.0.1";
if (filter_var($ip, FILTER_VALIDATE_IP)) {
  // Valid IP address
} else {
  // Invalid IP address
}
ログイン後にコピー
データの消毒と検証を説明するための簡単な電子メール送信フォームを作成しましょう。 フォームは、名前、電子メール、ホームページ、メッセージを収集します。 有効なデータのみが電子メールの送信をトリガーします。

ステップ1:フォームの作成(form.html):

$foo = "123";
if (filter_var($foo, FILTER_VALIDATE_INT)) {
  // Valid integer
} else {
  // Invalid integer
}
ログイン後にコピー

ステップ2:フォームの提出(form-email.php)の処理:

(注:元の例からの完全な検証と消毒ロジックは、
<form method="post" action="form-email.php">
  Name: <input type="text" name="name"><br><br>
  Email Address: <input type="email" name="email"><br><br>
  Home Page: <input type="url" name="homepage"><br><br>
  Message: <textarea name="message"></textarea><br><br>
  <input type="submit" name="Submit" value="Send">
</form>
ログイン後にコピー
のブロックに挿入する必要があります。)

結論 このチュートリアルは、PHPのデータフィルタリング機能を使用するための基盤を提供します。網羅的ではありませんが、安全で信頼できるデータ処理の効率を

に示します。 より高度な手法については、PHPマニュアルのデータフィルタリングセクションを参照してください。 画像は、OpenaiのDall-E 2を使用して生成されました

以上がPHPフィルターでデータを消毒および検証しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート