如何使用PHP从HTTP_REFERER读取GET值

时间:2017-06-11 23:02:02

标签: php apache

如何读取来自$_SERVER["HTTP_REFERER"]的get头变量的值,例如,如果我有index.php?col=example&order=example2,我怎么能从{{{}}收到的字符串读取col和order的值1}}这会安全吗?

我想过使用strpos(),但这意味着我必须创建一个函数来查找$_SERVER["HTTP_REFERER"]的位置,然后从thr col开始读取值并停在如果只设置了一个get标头,则为=或null值

1 个答案:

答案 0 :(得分:1)

根据dupe,使用parse_str,如下所示:

$str = 'index.php?col=example&order=example2';
$qs = parse_url($str, PHP_URL_QUERY);
if(!empty($qs)){
    parse_str($qs, $output);
    // TODO check for key existence
    echo $output['col'];  // example
    echo $output['order']; // example2
}

不同之处在于它不能使用index.php?,因此我们只从网址获取查询字符串部分。

我建议你做一些检查,以使脚本更可靠。