PHP $_REQUEST $_GET或$_POST

前端之家收集整理的这篇文章主要介绍了PHP $_REQUEST $_GET或$_POST前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说我有一个表格:
<form action="form.PHP?redirect=false" method="post">
    <input type="hidden" name="redirect" value="true" />
    <input type="submit" />
</form>

在form.PHP上:

var_dump($_GET['redirect']) // false
var_dump($_POST['redirect']) // true
var_dump($_REQUEST['redirect']) // true

如何获取注入的查询字符串参数以覆盖$_POST值,以便$_REQUEST [‘redirect’]将= false?

如果要在$_REQUEST数组中更改$_GET优先级超过$_POST,请更改PHP.ini中的 request_order指令.

默认值为:

request_order = "GP"

P代表POST,G代表GET,后面的值具有优先权,因此在此配置中,查询字符串中的值将覆盖POST在$_REQUEST数组中传递的值.如果你想要POST覆盖GET值,只需像下面那样切换它们:

request_order = "PG"

您需要重新启动webserver / PHP才能生效.

(编辑使用更合适的request_order作为Brad建议,而不是variables_order)

猜你在找的PHP相关文章