最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

カウンタ

おすすめ本

AccRanking

« 【PHP】ブラウザに長時間処理の内容を順次表示を行う方法 | メイン | 【PHP】関数の戻り値を複数にする方法(list関数) »

2018年4月17日 (火)

【PHP】POSTやGETなどのスーパーグローバル変数のアクセスはfilter_inputを使う方が安全らしい

POSTやGETなどのスーパーグローバル変数へのアクセスは直接以下の様にすることで行えます。
この例では、$_GET変数から id という引数を取得します。

これを filter_input 関数を使うと1行ですっきりします。

但し、これだと引数 id が全く指定されない場合は、変数 $id の中身がNULLになってしまいます。 そこで filter_input 関数の第3引数に FILTER_SANITIZE_STRING を指定すれば id を文字列として 取得できます。

引数 id を整数値として扱いたい場合は、第3引数に FILTER_VALIDATE_INT を指定します。

この場合でも、id=aaa の文字列指定であったり、id= の様に未指定であったりすると 変数 $idfalse で返されます。
これでは不都合があったりしますので、値の規定値、最小値、最大値の指定を filter_input 関数の第4引数に配列で指定します。

指定された min_range指定値と max_range指定値の範囲外の場合は default指定値が返されます。

デル株式会社

トラックバック

このページのトラックバックURL:
http://app.mitelog.jp/t/trackback/459161/34122283

【PHP】POSTやGETなどのスーパーグローバル変数のアクセスはfilter_inputを使う方が安全らしいを参照しているブログ:

コメント

コメントを投稿