ホームページ  >  記事  >  バックエンド開発  >  この discuz のコードを理解する方法

この discuz のコードを理解する方法

WBOY
WBOYオリジナル
2016-06-23 13:44:21932ブラウズ

このコードの目的は何ですか? if (isset($_REQUEST['GLOBALS']) OR isset($_FILES['GLOBALS'])) {
exit('リクエスト汚染が試行されました。' }

ディスカッション (解決策) への返信

変更を要求しようとしたリクエストの汚染が試行されました

つまり、渡されたパラメータは変数名として使用できません

リクエストの汚染が変更をリクエストしようとしました

つまり、パラメータ渡された は GLOBALS 変数名として使用できません

GLOBALS を変数名として使用しないのはどうですか?


次に、コードを読まなければなりません $GLOBALS はスーパーグローバル変数なので、extract でカバーされたら終わりです


それから、彼のコードを読まなければなりません

$GLOBALS はスーパーグローバル変数なので、エキスで覆われている、もう終わりです


まだわかりません、小さなキビをくれませんか

$x = 123;$a = array('x' => 'abc');extract($a);echo $x;
abc $a が変更されました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。