2

電子メール アドレス、URL、整数などの一般的なユーザー入力を検証するために PHP コーディングで使用できる、最も安全でユーザー フレンドリーで使いやすいバリデーター クラスまたはプラグインは何ですか?

例: http://code.google.com/p/owasp-esapi-php/。より良い方法はありますか?

それともfilter_input最善の方法を使用していますか?例えば

$value = filter_input(INPUT_GET, "value", FILTER_VALIDATE_INT,
        array("options" => array("min_range" => 15, "max_range" => 20)));

それともカスタムコーディング?例えば

if (isset($_GET["value"])) {
    $value = $_GET["value"];
}
else {
    $value = false;
}
if (is_numeric($value) && ($value >= 15 && $value <= 20)) {
    // run my code
}
else {
    // handle the issue
}

これに関する専門家の見解はありますか?私は次のような怠惰なスタイルを好みます。

filer_input($POST);

そのようなものはありますか?

4

2 に答える 2

1

そのようなライブラリに慣れていない場合は、ユーザー (開発者) にとって使いにくいかもしれませんが、Symfony2 Validator Component. Composer を介して簡単にインストールでき、スタンドアロンで使用でき、優れたドキュメントがここにあります: http://symfony.com/doc/current/book/validation.html、GitHub リポジトリはここにあります: https://github.com/ symfony/バリデーター.

于 2012-07-02T00:37:43.470 に答える
0

入力の検証が画一的なものであれば、XSS や SQLi 攻撃ははるかに少なくなるでしょう :)

フィルター (php に同梱されているという利点があります) または同様のサードパーティ製ライブラリ (フィルターには癖があります) を使用して、明示的なルールを設定することをお勧めします。より頻繁に使用されるもの (カスタム正規表現など) の配列構文 (filter_input_array や filter_var_array など) でルールを使用すると、ルールを再利用できます。

カスタム コーディングと比較して、フィルター ライブラリを使用するとコードが削減されるため、潜在的なバグが減少します。

于 2012-07-02T00:39:25.527 に答える