PHP の filter_var_array() 関数を使用して、複数のユーザーが入力したデータをフィルタリングします。

WBOY
リリース: 2023-11-03 13:06:01
オリジナル
1053 人が閲覧しました

PHP の filter_var_array() 関数を使用して、複数のユーザーが入力したデータをフィルタリングします。

Web アプリケーションの普及に伴い、セキュリティ問題への注目がますます高まっています。重要なセキュリティ対策の 1 つは、ユーザーが入力したデータをフィルタリングして検証することです。 PHP には一連のフィルター関数が用意されており、その中には非常に実用的な関数、filter_var_array() があります。この機能は複数のデータを同時にフィルタリングすることができ、非常に効率的で便利なツールです。この記事では、この関数の使い方を詳しく紹介し、具体的なコード例を示します。

  1. filter_var_array() 関数の基本的な使用法

filter_var_array() 関数は、複数のデータをフィルタリングするために使用されます。その基本構文は次のとおりです:

filter_var_array ( array $data [, mixed $definition [, bool $add_empty = true ]] ) : array
ログイン後にコピー

このうち、$data はフィルタリングするデータを表し、連想配列である必要があります。 $defining はフィルタリング ルールを表し、配列または定数を指定できます。 $add_empty は、空の文字列を含めるかどうかを示します。

この関数は、フィルター処理されたデータを返します。これも連想配列です。

  1. filter_var_array() 関数を使用して、ユーザーが入力したデータをフィルター処理します。

次に、ユーザー名、パスワード、電子メール アドレスの 3 つの入力ボックスを含むフォームがあるとします。 。これら 3 つの入力ボックス内のデータをフィルタリングして検証し、データベースに保存する前にデータが正しい形式であることを確認する必要があります。以下は、filter_var_array() 関数を使用してこのタスクを実行するコードです。

<?php
//从表单中获取数据
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];

//定义过滤规则
$definition = array(
    'username' => FILTER_SANITIZE_STRING,
    'password' => FILTER_SANITIZE_STRING,
    'email'    => FILTER_VALIDATE_EMAIL
);

//使用filter_var_array()函数过滤数据
$data = filter_var_array(array(
    'username' => $username,
    'password' => $password,
    'email'    => $email
), $definition);

//判断用户输入是否合法
if($data['username'] && $data['password'] && $data['email']){
    //存储到数据库中
    //...
}else{
    //提示用户输入不合法
    //...
}
?>
ログイン後にコピー

上記のコードでは、最初に 3 つの変数 $username、$password、$email がフォームから取得されます。次に $defining 配列を定義しました。この配列では、「ユーザー名」と「パスワード」のフィルタリング ルールが FILTER_SANITIZE_STRING (ラベルと特殊文字の削除)、「電子メール」のフィルタリング ルールが FILTER_VALIDATE_EMAIL (正当な電子メール アドレスであるかどうかの確認) です。 )。

次に、取得した 3 つの変数と定義した $defining 配列を filter_var_array() 関数に渡し、返された結果を $data 配列に保存します。最後に、$data 配列の 3 つの要素が空でないかどうかを確認します。空でない場合は、データをデータベースに保存できます。空でない場合は、入力が不正であることを示すプロンプトがユーザーに表示されます。

上記のコード例を通じて、filter_var_array() 関数が効率的かつ便利であり、複数のデータを簡単にフィルタリングして検証できることがわかります。

  1. filter_var_array() 関数の定数

上の例では、FILTER_SANITIZE_STRING と FILTER_VALIDATE_EMAIL という 2 つのフィルター定数を使用しました。これら 2 つの定数は、filter_var() 関数で定義されています。または、filter_var_array() 関数で直接使用することもできます。ただし、これら 2 つの定数に加えて、filter_var_array() 関数には使用できる他の多くの定数があります。一般的に使用されるフィルター定数の一部を次に示します。

  • FILTER_VALIDATE_BOOLEAN: ブール型であるかどうかを確認します。
  • FILTER_VALIDATE_INT: 整数であるかどうかを確認します。
  • FILTER_VALIDATE_FLOAT: 確認します。浮動小数点数であるかどうか
  • FILTER_VALIDATE_REGEXP: 指定された正規表現と一致するかどうかを確認します
  • FILTER_VALIDATE_URL: URL アドレスであるかどうかを確認します
  • ##FILTER_SANITIZE_SPECIAL_CHARS: 特殊文字をエスケープしますHTML エンティティ
  • FILTER_SANITIZE_NUMBER_INT : 文字列から数字以外の文字を削除します
    概要
この記事では、PHP の使用法を紹介します。 filter_var_array() 関数の詳細と具体的なコード例を示します。実際の事例のデモンストレーションを通じて、この機能を使用してユーザーが入力したデータをフィルタリングおよび検証し、Web アプリケーションのセキュリティを確保する方法を明確に理解できます。

以上がPHP の filter_var_array() 関数を使用して、複数のユーザーが入力したデータをフィルタリングします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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