ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルで $_REQUEST を使用するときに注意する必要がある問題

PHP_PHP チュートリアルで $_REQUEST を使用するときに注意する必要がある問題

WBOY
WBOYオリジナル
2016-07-21 15:11:25987ブラウズ

質問
$_REQUEST と言えば、$_GET と $_POST の集合体であることは誰もが知っています。ただし、興味がある場合は、ドキュメントを確認してください。次のことがわかります。

$_リクエスト

デフォルトで $_GET、$_POST、$_COOKIE の内容を含む連想配列。

$_REQUEST はデフォルトで $_GET、$_POST、$_COOKIE のコレクションになると書かれていますが、ローカルの PHP を使用して確認したところ、$_GET、$_POST のみが存在し、$_COOKIE は存在しませんでした。 ! ドキュメントが間違っている可能性がありますか?

答え
実際、変更ログに説明があります:

バージョン 5.3 以降の場合、$_REQUEST を設定するための request_order 属性が php.ini にあります。 php.ini を確認すると、request_order が GP (Get and Post) に設定されます。

request_orderの公式ウェブサイトの説明:

request_order文字列

このディレクティブは、PHP が GET、POST、Cookie 変数を _REQUEST 配列に登録する順序を記述します。登録は左から右に行われ、新しい値が古い値をオーバーライドします。

このディレクティブが設定されていない場合、$_REQUEST の内容には variables_order が使用されます。

セキュリティ上の理由から、デフォルトの配布 php.ini ファイルには Cookie を表す「C」が含まれていないことに注意してください。

バージョン 5.3 以降では、G、P、C はそれぞれ Get、Post、Cookie を表すことがわかり、request_order はデフォルトで GP に設定されており、C は含まれません。つまり、$_REQUEST には $_GET と $ のみが含まれます。デフォルトでは _POST!! (そのため、公式 Web サイトのドキュメントはやや誤解を招きます)。

また、G、P、C の順序が集合配列のカバレッジ順序であるとも言います。

念のため、実験にfpm-phpを使用している場合は、php.iniを変更した後、php-fpmを再起動する必要があります


http://www.bkjia.com/PHPjc/326875.html

tru​​ehttp://www.bkjia.com/PHPjc/326875.html技術記事 $_REQUEST に関しては、$_GET と $_POST のコレクションであることは誰もが知っています。しかし、興味がある場合は、ドキュメントを確認してください。次のことがわかります。 $_REQUEST によって作成された連想配列...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。