3

我想获取用户在 Google 上输入的搜索词以访问我的长尾登录页面(并在该页面上使用它们)。

使用响应引用者(在 ASP C# 中)从查询字符串中获取“q”变量效果很好,但前提是引用的 Google 页面作为 https 加载。

这显然是一个问题,因为几乎每个人都一直在他们的浏览器上登录他们的谷歌账户,如果他们登录了,所有谷歌页面将被自动加载(和重定向)以使用 https。

当用户(在https://www.google.com上)搜索某些内容并点击搜索结果时,Google 似乎会将用户重定向到一个中间页面,该页面会剥离其查询字符串的请求并将其替换为不同的这几乎只包含中间页面应该重定向到的 url(即指向我的长尾登录页面的 url)。

有什么方法可以让我获得在https://www.google.com上使用的原始搜索词吗?也许如果 JavaScript 可以访问浏览器历史或类似的东西?

4

3 回答 3

3

有什么方法可以让我获得在https://www.google.com上使用的原始搜索字词

不,https会话的全文通过 SSL 保护,包括标头、url 等。在您的场景中,出于安全原因,浏览器倾向于省略referer标头,因此您将无法访问它(除非目标 URL 也是安全的通过 HTTPS)。这是 HTTP 规范的一部分 - 15.1.3 在 URI 中编码敏感信息

您唯一能做的就是在您的网站上放置免责声明,说明它不适用于 https。

于 2012-08-24T08:49:15.013 回答
1

要查看引荐来源数据,您需要成为付费谷歌广告客户(访问者通过广告点击而来)或者您的网站也使用 HTTPS。这些天证书很便宜,或者您可以使用 CloudFlare 之类的中介来执行 SSL 并在您的网站上拥有一个自签名证书。

无论使用何种方法,您都可以使用 Google 网站管理员工具查看查询。

我在这里写了一点:http: //blogs.dixcart.com/public/technology/2012/03/say-goodbye-to-keyword-tracking.html

于 2012-08-24T19:18:19.540 回答
1

由于它是谷歌,这是不可能的,因为没有与您的网站共享链接。

一旦您使用 HTTPS - 它就不允许发送 REFERRER 标头。我相信您知道标头可以被操纵并且不能被信任,但是您可以信任 Google。但是,由于隐私政策,Google 用户在 Google 上进行的任何活动都不会被第三方共享。关联

同样,在服务器端语言中,您可以找到 HTTP Referrer 的功能,但不是 HTTPS referrer。那是有原因的!

除非并且直到您没有与可能在其 RFC事物中创建例外以允许 HTTP REFERRER 仅用于您的网站的原始服务器合作。这是不可能的。

希望有帮助!(继续前进):)

编辑:维基百科链接见推荐人隐藏(倒数第二行)

于 2012-08-24T08:45:34.037 回答