更新
让我们说,我的用户访问了此页面:
https://www.abc.com/mypage.php
该页面的响应标题为:
Content-Length 28
Date XXXX
Location https://abc.com/error.php?target=https%3A%2F%2Fabc.com%2Fmypage.php&
errorReason=Go+To+this+Url
Server MochiWeb/1.1 WebMachine/1.10.5 (jokes are better explained)
这意味着该页面会使用https://www.abc.com/errorpage.php
标题中的查询字符串参数重定向到Location
。
现在在errorpage.php上,我没有使用$ _GET来获取查询字符串参数,而是想获取Location标头,解析参数并打印它们。
执行$ _GET的缺点是,我的用户可以在查询字符串中输入任何废话,我的errorpage.php将打印它。所以我想通过检测Location标题来避免这种情况。
有没有办法从重定向获取Location标头?我没有看到使用getallheaders()或任何其他PHP函数。
由于
答案 0 :(得分:1)
我不确定您是否在寻找简单$_GET
以外的其他内容?
$target = $_GET['target'];
$errorReason = $_GET['errorReason'];
答案 1 :(得分:1)
如果您正在执行脚本:
$target = $_GET['target'];
$errorReason = $_GET['errorReason'];
如果您拥有的是URL:
$url = "https://abc.com/pageredirect.php?target=https%3A%2F%2Fabc.com%2Fredirecttopage.php&errorReason=Simple+redirect";
$urlObj = parse_url($url);
$getVars = $urlObj['query'];
parse_str($getVars);
echo "Target: ".$target." and errorReason: ".$errorReason;
答案 2 :(得分:0)
您可以使用$_GET
数组获取这些网址参数:
$_GET['target'];
$_GET['errorReason'];
答案 3 :(得分:0)
参数位于$_GET
变量
$_GET['target'];
$_GET['errorReason'];