0

すべての php スクリプトの開始時に、可能な入力POSTGET入力をループし、それらを適切にフィルター処理するため、後で入力が必要になったときに、カスタムの安全なフィルター処理された変数 (配列であり、POSTS と GETS を保持します) を使用できます。 ) $_GET と $_POST に触れる必要はありません。

変数が 40 文字の SHA1 または 64 文字の Adob​​e Stratus ID のいずれかのハッシュ値である場合、どうすればそれらを認識できますか?

ユーザーに意味のないデータを投稿してほしくありません。

4

4 に答える 4

1

文字列が ax の長さのハッシュ値であるかどうかをテストするには:

$x = 40
$string = "inputstring";
$boolResult = (preg_match('/^[0-9a-f]{'$x'}$/i', $string) == true) ? true : false;
于 2013-05-07T11:05:04.140 に答える
0

SHA1 ハッシュを次のような正規表現と一致させることができます。

/[0-9a-f]{40}/

PHPで:

foreach($_GET as $get) {
    if (preg_match('/[0-9a-f]{40}/i', $get)) {
        // do something
    }
}
于 2013-05-07T11:11:47.243 に答える
0

_POST および _GET アクセスを回避する必要があることに同意しませんが、代わりに、XSS を回避するために可能な限りクリーンアップする必要があります。( https://en.wikipedia.org/wiki/Cross-site_scripting )。CodeIgniter には、ピンチして独自のものにプラグインできる優れたセキュリティ ライブラリがあります。

それ以外はよくわかりませんが、セッションからハッシュ化された値を復号化するように求めていると思いますか?

于 2013-05-07T10:52:11.720 に答える