この拡張モジュールは、 ユーザ入力などのセキュアでないデータの検証およびフィルタリングを行います。
現在存在するのは、以下のフィルタです。各定数の振る舞いについての説明は フィルタ定数 の節を参照ください。
ID | 名前 | オプション | フラグ | 説明 |
---|---|---|---|---|
FILTER_VALIDATE_INT | "int" | min_range , max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX | 値が整数であるかどうか、オプションで指定した範囲内にあるかどうかを検証します。 |
FILTER_VALIDATE_BOOLEAN | "boolean" | FILTER_NULL_ON_FAILURE |
"1"、"true"、"on" および "yes" の場合に TRUE、 それ以外の場合に FALSE を返します。 FILTER_NULL_ON_FAILURE が設定されている場合は、 FALSE が返されるのは "0"、"false"、"off"、"no" および "" の場合のみとなります。 boolean 以外の値については NULL を返します。 |
|
FILTER_VALIDATE_FLOAT | "float" | decimal | FILTER_FLAG_ALLOW_THOUSAND | 値が float であるかどうかを検証します。 |
FILTER_VALIDATE_REGEXP | "validate_regexp" | regexp | 値が、Perl 互換の 正規表現 regexp に一致するかどうかを検証します。 | |
FILTER_VALIDATE_URL | "validate_url" | FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED | 値が URL 形式であるかどうか、 オプションで指定したコンポーネントが含まれているかどうかを検証します。 | |
FILTER_VALIDATE_EMAIL | "validate_email" | 値が e-mail 形式であるかどうかを検証します。 | ||
FILTER_VALIDATE_IP | "validate_ip" | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE | 値が IP アドレスであるかどうかを検証します。 オプションで IPv4 あるいは IPv6 のみの指定、 プライベートアドレスや予約済みアドレスではないことの指定もできます。 | |
FILTER_SANITIZE_STRING | "string" | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | タグを取り除きます。オプションで、 特殊文字を取り除いたりエンコードしたりします。 | |
FILTER_SANITIZE_STRIPPED | "stripped" | "string" フィルタのエイリアス。 | ||
FILTER_SANITIZE_ENCODED | "encoded" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | 文字列を URL エンコードします。オプションで、 特殊文字を取り除いたりエンコードしたりします。 | |
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_HIGH | '"<>& および ASCII 値が 32 未満の文字を HTML エスケープします。オプションで、 特殊文字を取り除いたりエンコードしたりします。 | |
FILTER_UNSAFE_RAW | "unsafe_raw" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | 何もせず、オプションで特殊文字を取り除いたりエンコードしたりします。 | |
FILTER_SANITIZE_EMAIL | "email" | 英字、数字および !#$%&'*+-/=?^_`{|}~@.[] 以外のすべての文字を取り除きます。 | ||
FILTER_SANITIZE_URL | "url" | 英字、数字および $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&= 以外のすべての文字を取り除きます。 | ||
FILTER_SANITIZE_NUMBER_INT | "number_int" | 数字、プラス記号、マイナス記号 以外のすべての文字を取り除きます。 | ||
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | 数字、+- および オプションで .,eE 以外のすべての文字を取り除きます。 | |
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" | addslashes() を適用します。 | ||
FILTER_CALLBACK | "callback" | callback 関数あるいはメソッド | ユーザ定義の関数をコールしてデータをフィルタリングします。 |