Какова цель $ REQUEST? [дублировать]
согласно Руководству PHP:
переменная
$_REQUEST
- это ассоциативный массив, который по умолчанию содержит сведения, $_GET, $_POST и $_COOKIE.
таким образом, этот переменных-это своего рода смесь.
Какой целью получить столько данных, реквизиции POST
GET
и тому подобное?
2 answers
Superglobal $_REQUEST
объединяет все значения, присутствующие в superglobais $_GET
, $_POST
$_COOKIE
в единый ассоциативный массив.
, Если есть один или более значения, которые присутствуют в более superglobal, они наполнены $_REQUEST
в соответствии с политикой request_order
:
This directive describes the order in which PHP registers GET, POST и Cookie variables into the _REQUEST массив. Registration is done from left to right, newer values override older values. If this directive is not set, variables_order is used for $_REQUEST contents. Note that the default distribution php.ini files does not contain the 'C' for cookies, due to security concerns.
Значение политики variables_order
", по умолчанию - GC
, то есть, во-первых, принимаются во внимание значения $_GET
, а затем, значения $_POST
, чтобы заполнить значения $_REQUEST.
O $_REQUEST
- это тип универсального $_GET, $_POST,$_COOKIE
для нее столько делает, если данные идут через $_GET или $_POST она спасает обоих, его использование рекомендуется немного.
Почему его использование не рекомендуется?
Причина В большей безопасности, представьте, что у вас есть форма на странице " pagina1.php
, который отправляется pagina2.php
.
, Если вы используете $_REQUEST данные могут быть переданы прямых запросов string, то ваша заявка будет подлежать нападки.
См. примечание в руководстве PHP:
Переменные $_REQUEST служат для сценария через механизмы записи: GET, POST, и COOKIE, и перенос может быть изменены удаленному пользователю и не могут быть возложены. A наличие и заказ из переменных, перечисленных в этом массиве определяется в соответствии с директивой конфигурации PHP variables_order.
Так что, если и делает это, если ваши данные будут посланы через get или post используйте $_REQUEST
отличие забывает a.
Фильмография : $_GET, $_POST, $_REQUEST, где, когда и как