PHPのfilter_input()関数とは?使い方とパラメータを解説
PHPのfilter_input()関数は、GETやPOSTなど外部から送信された変数を名前で取得し、必要に応じてフィルタリング(検証・サニタイズ)を行うことができる関数です。ユーザー入力を安全に扱うための重要な関数の一つであり、セキュリティ対策の観点からも広く利用されています。
構文
filter_input(type, var, filtername, options)
パラメータ
type − チェック対象となる入力の種類を指定します。指定できるのは以下の5種類です。
INPUT_GET、INPUT_POST、INPUT_COOKIE、INPUT_SERVER、INPUT_ENVvar − 取得したい変数の名前を指定します。
filtername − 適用するフィルタの名前(ID)を指定します。省略した場合はデフォルトの FILTER_DEFAULT が使用されます。
options − フィルタに渡すオプションを連想配列やフラグとして指定します。このパラメータは省略可能です。
戻り値
filter_input()関数は、成功した場合には変数の値を返します。フィルタリングに失敗した場合は false を、対象の変数が設定されていない場合には null を返します。
使用例
次の例では、POSTメソッドで送信された「email」の値が有効なメールアドレスかどうかを FILTER_VALIDATE_EMAIL フィルタを使って検証しています。
<?php
if (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) {
echo "E-Mail isn't valid!";
} else {
echo "E-Mail is valid!";
}
?>出力
上記のコードを実行すると、入力されたメールアドレスが無効な形式の場合、以下のように表示されます。
E-Mail isn't valid!
まとめ
filter_input()関数を使うことで、$_GET や $_POST の値に直接アクセスするよりも安全に外部入力を取得できます。特にメールアドレスやURLなどの形式チェックには欠かせない関数なので、フォーム処理を実装する際はぜひ活用しましょう。
-
PHPのmt_getrandmax()関数とは?定義・構文・戻り値を実例付きで解説
mt_getrandmax()関数の定義と用途PHPのmt_getrandmax()関数は、PHPで扱うことのできる最大の整数値を返す関数です。関数名に含まれる「mt」という接頭辞は、メルセンヌ・ツイスタ(Mersenne Twister)という乱数生成アルゴリズムに由来しています。この関数は、mt_rand()関数が生成する乱数の上限値として機能します。そのため、「mt_rand()が返しうる最大の値を事前に把握したい」といった場面で活用できます。なお、戻り値は必ず整数型(int)となります。基本構文mt_getrandmax ( void ) : intパラメータNo.パラメータと説明1こ
-
PHPのextract()関数とは?使い方とパラメータを徹底解説
extract()関数とはPHPのextract()関数は、配列のキーと値を現在のシンボルテーブルに変数としてインポートする関数です。連想配列の各要素が「キー名=変数名、値=変数の値」として展開され、戻り値としては正常に抽出された変数の個数が返されます。構文extract(arr, rules, prefix)パラメータarr − 変数として展開したい対象の配列を指定します。rules − 無効な変数名や既存変数との衝突(コンフリクト)が発生した場合の扱い方を指定します。指定できる値は以下の通りです。EXTR_OVERWRITE − デフォルト値。同名の変数が既に存在する場合、既存の変数を上書