ホームページ >バックエンド開発 >PHPチュートリアル >register_globals 設定_PHP チュートリアルに関する質問

register_globals 設定_PHP チュートリアルに関する質問

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

さまざまな理由から、PHP 設定は register_globals パラメーターをオンにする必要がありますが、これは重要なセキュリティ リスクにもなっています。次のコードを参照してください。 リモート ユーザーは、たとえ次の場合でも、認証済みをフォーム変数として渡すことができます。 Authenticate_user() 関数は false を返します。$authenticated は引き続き true に設定されます。これは単純な例ですが、私のプログラムはこのようには書かれないと思われるかもしれません。 実際、もう少し複雑なアプリケーションでは、このメカニズムが大きな脆弱性になります。 したがって、新しいバージョンの PHP では、ユーザーがアプリケーションを制御するためにこの変数を使用しないことをお勧めしますが、近い将来にこの変数を削除する予定はありません。 ユーザーが register_globals をオフに設定してアプリケーションを構築できるように、古い配列を置き換えるためにいくつかの変数が追加されました。 $_GET - GET 経由で送信されたフォーム変数が含まれます $_POST - POST 経由で送信されたフォーム変数が含まれます $_COOKIE - HTTP Cookie 変数が含まれます $_SERVER - サーバー側変数が含まれます (例: REMOTE_ADDR) $_ENV - 環境変数が含まれます $_REQUEST - GET 変数、POST 変数、および Cookie 変数の組み合わせ。ユーザーから取得される変数であり、信頼できない。 $_SESSION - セッション モジュールを通じて登録された HTTP 変数が含まれます。これらの変数は、どのスコープでも自動的にグローバル変数として設定され、global キーワードを追加せずにどこからでも呼び出すことができます。 例: function example1() { print $_GET["name"]; // 記述する必要はありません: global $_GET; } 言及する価値のあるもう 1 つのヒントは、$_SESSION 配列にレコードを自動的に登録できることです。 session_register() 関数を呼び出したのと同じように、セッション変数。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531819.html技術記事さまざまな理由から、PHP 設定は register_globals パラメーターをオンにする必要がありますが、これは重要なセキュリティ リスクにもなっています。次のコードを参照してください: リモート ユーザーは簡単に...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。