当前位置:  开发笔记 > 编程语言 > 正文

如何从引用搜索引擎获取查询信息

如何解决《如何从引用搜索引擎获取查询信息》经验,为你挑选了1个好方法。

我想使用某人用来查找我的页面的查询,这些查询位于引用页面的URL $ GET _ ['q'](以及yahoo $ GET _ ['p']).我该怎么用?我想要一些像$ query = REFERRING PAGE($ GET _ ['q'])的东西,但我无法弄清楚说出来的方式.



1> Pascal MARTI..:

您要搜索的信息可在以下网址找到 $_SERVER['HTTP_REFERER']

例如,来自具有此URL的页面:http://tests/temp/temp-2.php?q=test+glop,这部分代码:

var_dump($_SERVER['HTTP_REFERER']);

给:

string 'http://tests/temp/temp-2.php?q=test+glop' (length=40)


您可以使用parse_url从该URL获取查询字符串:

$query = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_QUERY);
var_dump($query);

会得到你:

string 'q=test+glop' (length=11)


现在,您可以使用以下方法解析该查询字符串parse_str; 这段代码:

$params = array();
parse_str($query, $params);
var_dump($params);

会得到你:

array
  'q' => string 'test glop' (length=9)


最后,您可以检查您感兴趣的参数是否在该数组中:

if (isset($params['q'])) {
    var_dump($params['q']);
}

在这个例子中,会给我们:

string 'test glop' (length=9)


Et voila ;-)

请注意,Referer是由客户端发送的,这意味着:

它可以伪造,并且可以包含任何东西 - 包括坏东西(谨防SQL注入和XSS!)

它是可选的:浏览器不需要发送它.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有