一般的なセキュリティ ホールを理解しようとしているときに、非常に簡単な質問があります。この声明は、巧妙な入力で真実になる可能性がありますか?
if ($_GET["h"] != $_GET["h"]) {
}
(これを例として使用するだけで、正確なコードを使用する予定はありません:P)
一般的なセキュリティ ホールを理解しようとしているときに、非常に簡単な質問があります。この声明は、巧妙な入力で真実になる可能性がありますか?
if ($_GET["h"] != $_GET["h"]) {
}
(これを例として使用するだけで、正確なコードを使用する予定はありません:P)
おそらくそうではありませんが、それほど懸念がある場合は、 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
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...