由于 Adsense 导致尝试创建无 cookie 域的问题

Posted

技术标签:

【中文标题】由于 Adsense 导致尝试创建无 cookie 域的问题【英文标题】:Problems trying to create a cookieless domain due to Adsense 【发布时间】:2011-09-16 01:21:07 【问题描述】:

按照关于 google 的 pagespeed 插件的建议,我将我的静态内容(图像、css、javascript 文件)移动到我的网站的子域中,在该子域中不应该有 cookie,从而为每个请求在请求标头中节省了一些空间这些文件。但是,在查看结果时,我发现仍在为该子域创建 cookie。我的网站上有 google adsense,它正在将 cookie 写入根域 *.example.com 而不仅仅是 www.example.com

有什么方法可以强制 adsense 只将 cookie 写入用于显示添加的确切域而不是根域?

【问题讨论】:

【参考方案1】:

似乎没有办法强制 adsense 仅为特定子域创建 cookie。通常使用的解决方案是简单地从完全不同的域中提供您的内容。 SO 使用 sstatic.net,Yahoo 使用 yimg.com,Youtube 使用 ytimg.com。

我建议您只获得一个新域名。每年只需 10 美元左右(取决于您的***域名)。投资回报率是多少,10 分钟的开发时间?

【讨论】:

我支持这个建议。这听起来更像是一个杂物,而第二个域可以为您所做的任何 Web 项目提供静态内容。它还有一个额外的好处,可以将您的代码和您的内容放在具有自己的凭据的单独 FTP 站点上,如果涉及到客户端,这将很有用。【参考方案2】:

可以有一个代理脚本 - 一个登录页面 - *.example.com 的所有流量都会在其中着陆,然后将请求分派到预期的子域。或者,您可以将该脚本放在每个子域的根文件夹中,以将 adsense cookie 重定向到 wwww.yourdomain.com。在 Linux 环境下,可以使用 .htaccess 文件来处理,比如:

# place this in your subdomain's root
RewriteEngine on
RewriteCond %HTTP_COOKIE ^.*SOME_ID=(\d+).*$ [QSA]
RewriteRule .* ../cache/$1 [QSA,L]

其中 SOME_ID 是每个生成的 AdSense cookie 中的重复名称。

【讨论】:

以上是关于由于 Adsense 导致尝试创建无 cookie 域的问题的主要内容,如果未能解决你的问题,请参考以下文章

Flexbox 导致 adsense 错误:“adsbygoogle.push() 错误:没有可用宽度 = 0 的插槽大小”

使用 asp.net 在开发机器上创建无 cookie 应用程序

无 Cookie 会话和 IIS7 导致重定向循环

Cookie和Session

为啥 Selenium 会导致 CSRF 403?

session和cookie