2

一般的なセキュリティ ホールを理解しようとしているときに、非常に簡単な質問があります。この声明は、巧妙な入力で真実になる可能性がありますか?

if ($_GET["h"] != $_GET["h"]) {

}

(これを例として使用するだけで、正確なコードを使用する予定はありません:P)

4

2 に答える 2

3

おそらくそうではありませんが、それほど懸念がある場合は、 not equalではなくnot同一を使用する方がよいでしょう。

if ('1' != 1) { echo 'true'; } // Does not echo
if (1000 != "10e4") { echo 'true'; } // Does not echo
if ('1' !== 1) { echo 'true'; } // echoes true

PHP 演算子の詳細: http://php.net/manual/en/language.operators.comparison.php

于 2013-09-17T02:02:09.563 に答える
1

Not as far as I know.

Parameters from $_GET are transmitted through the URL like page.php?h=value. Once submitted, one cannot change its mind between the first $_GET and the second one...

于 2013-09-17T01:57:38.993 に答える