2

有没有办法在通常使用 cookie 的服务器上禁用 PHP 在特定页面的标题中发送 cookie?

场景是我有一个使用 cookie 的服务器,但有些页面实际上是在编写不需要 cookie 的 API 调用,实际上通过发送这些不相关的数据来减慢用户的 API 请求。

4

2 回答 2

4

许多站点用来提供静态资源而没有 cookie 开销的方式是使用不同的域。例如,对于 Stack Overflow,该域是http://sstatic.net

在 Web 应用程序中,您可以将 cookie 限制为特定路径。默认情况下,它们将被限制在设置它们的目录中。您也可以使用$pathin 中的参数显式指定它setcookie()

于 2012-06-19T20:29:12.380 回答
1

我同意 Pekka 的回答和 Dagon 的评论。如果您使用 firebug 之类的工具查看 http 请求中的内容,您会发现只有在调用 setcookie 时才会发送 cookie,但是,浏览器将始终发送它对域的有效 cookie。

解决此问题的方法是为您的 api 使用单独的域或子域。您还可以配置支持 api 的 Web 服务器以禁用对 cookie 的任何支持,但是,如果您的域已在任何地方实现了域 cookie,则您无法阻止客户端在其请求的标头中发送所有 cookie 数据。因此,最好为 api 使用完全不同的域,并在此过程中完全避免使用 cookie。如果您可以确保不存在域 cookie,那么子域是下一个最佳解决方案。

于 2012-06-19T20:38:21.563 回答