如何在静态 PHP 生成的 CSS / JS 文件上取消设置 Cookie?
Posted
技术标签:
【中文标题】如何在静态 PHP 生成的 CSS / JS 文件上取消设置 Cookie?【英文标题】:How to unset Cookies on static PHP generated CSS / JS files? 【发布时间】:2011-07-02 22:59:32 【问题描述】:在测试我的网站时,我看到了 Cookie score of 81/100
并附有以下评论:
FAILED (Static object with 1 cookies - 36 bytes)
- all.css
cookie:phpSESSID=3ge12i80ghj5gbb2cs41tr7qj5FAILED (Static object with 1 cookies - 36 bytes)
- all.js
cookie:PHPSESSID=3ge12i80ghj5gbb2cs41tr7qj50.2 KB total in outbound cookies - potential savings = 0.2 KB
这两个文件实际上都是 PHP 生成的文件,它们将许多其他 css / js 文件合并为一个。
我应该如何取消设置这些统计对象的 cookie?
有没有我可以添加到headers();
旁边的 php 代码来取消设置这些文件上的 cookie?
建议 = 答案 = 非常感谢!
【问题讨论】:
【参考方案1】:您似乎在这些脚本中的某处调用session_start
。
如果您删除它,则不会设置会话 cookie。
【讨论】:
是的,在主 php 文件中。这是否意味着所有加载的文件都会自动得到它?【参考方案2】:PHPSESSID 将由浏览器随对您当前域的每个请求一起发送。请求什么文件类型(.html、.php、.js、.css 等)并不重要。看到这一点的一个好方法是使用 Firefox 的“Live HTTP Headers”插件。您可以准确查看每个请求发送的内容。
为防止发送 PHPSESSID,您可以从不同的域或可能的子域提供这些文件。理想的解决方案是使用 CDN。不过,我不会担心浏览器会为这些文件发送 PHPSESSID。
出于好奇,您使用什么工具来测试您的网站?
【讨论】:
艾伦的回答是正确的。我是从浏览器而不是服务器的角度来看待这个问题的。以上是关于如何在静态 PHP 生成的 CSS / JS 文件上取消设置 Cookie?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Webpack 4 中的页眉/页脚(和 css/js 注入)生成静态页面的 html 模板(lodash 模板不起作用)?
在Google App Engine Standard中配置嵌套的静态文件夹 - PHP环境