[PHP-users 19116]Re: register_globals =Onはどの程度危険なのでしょう?
naoki kishida
kishida @ fk.urban.ne.jp
2003年 11月 26日 (水) 06:46:37 JST
きしだです
> $valid = 0;
> if($validPassword === "drowssaP")
> $valid = 1;
>
> if ($valid === 1)
> print "認証が成功した場合に表示する";
>
> この例ではパスワードが正しい場合には$validに1
> が代入され、その後のチェックで$validが1の時にだけ表示
> するというスクリプトです。しかしregister_globals = onが
> 設定されていると http://example.com/foo.php?valid=1
> とすることによって、認証のロジックを無視し、値を代入
> 出来るといったことになります。
このコードでvalidの値を外部から設定できるなら、かなり怖いですが、さすが
にそれはないのではないでしょうか。
とりあえず4.2.2で確認したところ、$valid=0としたら外部から値を設定しても
$validは0になりましたよ。
$validの初期化が無い場合を例示したかったのではないかと思いますが。
----
岸田 哉生(きしだ なおき)
email:kishida @ fk.urban.ne.jp
http://www.fk.urban.ne.jp/home/kishida/
PHP-users メーリングリストの案内