PHP 高度なフィルターLOGIN

PHP 高度なフィルター

filterを使用して、数値が範囲内にあるかどうかを検出します

次の例では、filter_var()関数を使用して、INT型変数が1から200の範囲内にあるかどうかを検出します:

<?php
header("Content-type:text/html;charset=utf-8");
$int = 122;
$min = 1;
$max = 200;
if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
    echo("变量值不在合法范围内");
} else {
    echo("变量值在合法范围内");
}
?>

プログラムの動作結果:

変数値が正当な範囲内です


IPv6アドレスを検出

FILTER_VALIDATE_IP フィルターは値を IP として検証します。次の例では、filter_var()関数を使用して$ IP変数がIPv6アドレスであるかどうかを検出します。 08d3: 1319:8a2e:0370:7334 は IPv6 アドレスです

検出 URL - QUERY_STRING (クエリ文字列) を含む必要があります

QUERY_STRING文字通り、一般的な URL Web アドレス xxx などのクエリ文字列を意味します。 asp?pn=123456 ? 数字に続くのはクエリ文字列です

次の例では、filter_var() 関数を使用して、$url にクエリ文字列が含まれているかどうかを検出します。 baidu.com は合法的な URL ではありません

上記の例では、URL URL に QUERY_STRING が含まれていないため、実行結果は否定的な答えになります


127 を超える ASCII 値を持つ文字を削除してください

FILTER_SANITIZE_STRING

フィルターは、不要な文字を削除またはエンコードします。

次の例では、filter_var() 関数を使用して、文字列内の 127 より大きい ASCII 値を持つ文字を削除します。また、HTML タグも削除できます。

<?php
header("Content-type:text/html;charset=utf-8");
$ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";
if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) {
    echo("$ip 是一个 IPv6 地址");
} else {
    echo("$ip 不是一个 IPv6 地址");
}
?>

プログラムの実行結果:

Hello World!


PHP フィルター リファレンス マニュアル

このサイトの PHP フィルター リファレンス マニュアルにアクセスして、フィルターの特定のアプリケーションを表示することもできます。

リファレンスマニュアルにはフィルターパラメーターの簡単な説明と使用例が含まれています。


次のセクション
<?php header("Content-type:text/html;charset=utf-8"); $int = 122; $min = 1; $max = 200; if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) { echo("变量值不在合法范围内"); } else { echo("变量值在合法范围内"); } ?>
コースウェア