Mav*_*ick 7 php post get request
说我有一个表格:
<form action="form.php?redirect=false" method="post">
<input type="hidden" name="redirect" value="true" />
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
在form.php上:
var_dump($_GET['redirect']) // false
var_dump($_POST['redirect']) // true
var_dump($_REQUEST['redirect']) // true
Run Code Online (Sandbox Code Playgroud)
如何获取注入的查询字符串参数以覆盖该$_POST值,因此$_REQUEST['redirect']将= false?
Chr*_*ner 11
如果要在数组中更改$_GETover的优先级,请更改php.ini中的request_order指令.$_POST$_REQUEST
默认值为:
request_order = "GP"
Run Code Online (Sandbox Code Playgroud)
P代表POST,G代表GET,后面的值具有优先权,因此在此配置中,查询字符串中的值将覆盖$_REQUEST数组中POST传递的值.如果你想要POST覆盖GET值,只需像这样切换它们:
request_order = "PG"
Run Code Online (Sandbox Code Playgroud)
您需要重新启动webserver/php才能生效.
(编辑使用Brad建议的更合适的request_order,而不是variables_order)