ホームページ >バックエンド開発 >PHPチュートリアル >グローバル登録をオンにした後に発生する問題について_PHP チュートリアル

グローバル登録をオンにした後に発生する問題について_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:48:43851ブラウズ

PHPマニュアルを読んだところ、グローバル変数をオフにすること、つまりregister_globalesをoffに設定することをお勧めすると書かれていました
そして、マニュアルには、オフにしない場合にどのような問題が発生するかを説明する例も示されています。例は次のとおりですが、その背後にある説明部分
。 GET auth.php?authorized=1 意味がわかりませんか? ? ?みんなが私を助けてくれることを願っています

register_globals = on の誤った使用例

// ユーザーが正当な場合、$authorized = true を割り当てます
if (authenticated_user()) {
$authorized = true;
}

// $authorizedは事前にfalseに初期化されていないため、
// register_globals がオンになっている場合、この変数値は GET auth.php?authorized=1 によって定義できます
// したがって、誰でも認証をバイパスできます
if ($authorized) {
"/highly/sensitive/data.php" を含めます;
}
?>
register_globals = on の場合、上記のコードは危険です。オフの場合、$authorized は URL リクエストなどを介して変更できません。変数の初期化はプログラミングの良い習慣ですが、そのほうがはるかに優れています。たとえば、上記のコードを実行する前に $authorized = false を追加した場合、ユーザーのステータスは未認証として初期化されるため、register_globals がオンかオフかは関係ありません。


kaituozhe345
より抜粋

www.bkjia.com本当http://www.bkjia.com/PHPjc/478397.html技術記事 PHP マニュアルを読んだところ、グローバル変数をオフにすること、つまり regester_globales をオフに設定することをお勧めすると書かれており、オフにしないとどのような問題が発生するかについても説明されていました。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。