我想让用户在Google上输入的搜索字词进入我的长尾登陆页面(并在该页面上使用它们)。
使用响应引荐来源(在ASP C#中)从查询字符串中获取“q”变量效果很好但仅当引用的Google页面不加载为https时才有效。
这显然是一个问题,因为几乎每个人都在他们的浏览器上一直登录他们的Google帐户,如果是,所有Google页面都会自动加载(并重定向)以使用https。< / p>
当用户(在 https ://www.google.com上)搜索某些内容并点击搜索结果时,Google似乎会将用户重定向到中间页面,该页面会删除它的查询字符串并将其替换为另一个,它几乎只包含中间页面应该重定向到的URL(即我的长尾登陆页面的URL)。
我是否有办法获得 https ://www.google.com上使用的原始搜索字词?也许如果JavaScript可以访问浏览器历史记录或类似的东西?
答案 0 :(得分:3)
我是否有办法获得 https ://www.google.com
上使用的原始搜索字词
不,https
会话的全文通过SSL保护,包括标题,网址等。在您的方案中,出于安全考虑,浏览器会忽略referer
标题,因此您不会能够访问它(除非目标URL也通过HTTPS保护)。这是HTTP规范的一部分 - 15.1.3 Encoding Sensitive Information in URI's。
您唯一可以做的就是在您的网站上放置免责声明,说它不适用于https。
答案 1 :(得分:1)
由于它是Google,因此无法与您的网站共享链接。
使用HTTPS后,不允许发送REFERRER标头。我相信你知道标题可以被操纵而且不可信任,但是你可能信任Google。但是,由于隐私政策,Google用户在Google上执行的任何活动都不会被第三方共享。 Link
同样,在服务器端语言中,您可以找到HTTP Referrer的功能,但不能找到HTTPS referrer。这是有原因的!
除非您没有与可能在其RFC 事物中创建例外的原始服务器进行协作,以便仅允许您的网站使用HTTP REFERRER。这是不可能的。
希望有所帮助! (继续前进):)
编辑:Wikipedia Link参见推荐人隐藏(最后一行)
答案 2 :(得分:1)
要查看引荐来源数据,您需要成为付费Google广告客户(访问者通过广告点击进行访问)或将您的网站设置为HTTPS。 Certs现在很便宜,或者您可以使用像CloudFlare这样的中介来执行SSL并在您的网站上拥有自签名证书。
使用Google网站管理员工具,无论使用何种方法,您都可以查看查询。
我在这里写了一点:http://blogs.dixcart.com/public/technology/2012/03/say-goodbye-to-keyword-tracking.html