我如何强制 Apache 不为子域设置 cookie?

我如何强制 Apache 不为子域设置 cookie?

我已经在服务器上为静态内容设置了一个特定的子域名 - images.example.com

我想配置 Apache 以永远不允许在该域上设置 cookie。但我不确定在哪里/如何做到这一点。请指教 :-)

谢谢!

答案1

我不认为 apache 可以在这里充当执行者。即使是上面的 RequestHeader unset 选项也只会发生客户端已发送带有 cookie 的请求。

google 页面速度工具注意到的关键点是客户端在请求时发送 cookie。这意味着您在应用程序中的某个地方设置了 domain.com cookie(因此实际上是 *.domain.com)。您需要小心地只在 cookie 代码中设置 www.domain.com(或您正在使用的任何子域)。说实话,大多数专业网站最终都会使用如此多的第三方小部件、javascript 和浏览器调用,因此更容易放弃您的“主”域并设置一个永远不会设置 cookie 的完整第二个域。您可以看到 facebook 对 fbcdn.net 这样做。Huffingtonpost.com 对 huffpost.com 这样做。

答案2

使用 mod_headers (http://httpd.apache.org/docs/2.2/mod/mod_headers.html)您可以操纵 Apache 发送给客户端的所有标头。例如

Header unset Set-Cookie

在您的子域名的 VirtualHost 内部应该可以解决问题。

相关内容