[PHP-users 19120]Re: register_globals=Onはどの程度危険なのでしょう?

Mori Reo list-program @ rucifer.ddo.jp
2003年 11月 26日 (水) 07:18:28 JST


森です。

> この場合、$validの初期化がなくても、foo.php?valid=1として設定されるのは
> 文字列の"1"であって数値の1ではないので、やはり$valid===1という条件は満た
> されないようです。($valid==1という条件は満たされます)
> 
> というわけで、「こうするべきだ」というコードを書いておけば自然にセキュア
> なコードになるという例になってしまっているようで。

こちらでも確認しましたが、岸田様のご説明通りの動作ですね。
かさねがさね有難う御座います。

-------------------------------安全なコード
$valid = 0;
if($validPassword === "drowssaP")
    $valid = 1;

if ($valid === 1)
    print "認証が成功した場合に表示する";

-------------------------------危険なコード
if($validPassword == "drowssaP")
    $valid = 1;

if ($valid == 1)
    print "認証が成功した場合に表示する";


----------
森 怜峰 <reo @ rucifer.ddo.jp>


PHP-users メーリングリストの案内