register_globalsについて
前々からregister_globalsはoffにすべきというのは
知っていたのですが、プログラマーになって
具体的にというか本気で困ることに気がついた。
そもそもregister_globalsがonだと、何ができるのかというと、
http://a.com/?mode=bbb
にアクセスした場合、簡単に書くと、
if ( $_GET["mode"] == “bbb” ){
echo “test”;
}
みたいな感じでGETの値を使う訳ですが、
register_globalsがonだと
if ( $mode == “bbb” ){
echo “test”;
}
でも同じように通ってしまうわけですね。
$_GETとか$_POSTのような特殊変数じゃなくても
値が入ってしまうわけです。
これってミスの元になるし、脆弱性にもなりえますね。
自分の意思で変更できる環境なら、やっぱり変更するべしですね。
## でも、事前検証は確実・十分に!