为什么浏览器仍然允许Javascript查看cookies?

为什么浏览器仍然允许Javascript查看cookies?,javascript,cookies,Javascript,Cookies,我确信仍然有很多网站出于某种莫名其妙的原因使用Javascript来操纵cookies,但是考虑到所有可能发生的XSS,确实没有很好的理由允许这样做。为什么浏览器仍然允许这样做?为什么不干脆阻止JS看到cookies呢?我必须承认,这个问题类似于说“为什么浏览器仍然支持HTML,它已经过时了”。向后兼容性是一个巨大的问题,切断所有操纵cookie的现有javascript代码将是灾难性的 话虽如此,也有一些情况下,javascript对cookies的操作可用于跨站点通信等等。我必须承认,这个问

我确信仍然有很多网站出于某种莫名其妙的原因使用Javascript来操纵cookies,但是考虑到所有可能发生的XSS,确实没有很好的理由允许这样做。为什么浏览器仍然允许这样做?为什么不干脆阻止JS看到cookies呢?

我必须承认,这个问题类似于说“为什么浏览器仍然支持HTML,它已经过时了”。向后兼容性是一个巨大的问题,切断所有操纵cookie的现有javascript代码将是灾难性的


话虽如此,也有一些情况下,javascript对cookies的操作可用于跨站点通信等等。

我必须承认,这个问题类似于说“为什么浏览器仍然支持HTML,它的旧版本”。向后兼容性是一个巨大的问题,切断所有操纵cookie的现有javascript代码将是灾难性的


也就是说,还有一些情况下,cookie的javascript操作可用于跨站点通信等。

这样,您可以直接在cookie中设置首选项,而无需发出AJAX请求,并保存在服务器端的会话/用户配置文件中。这对于您在重新访问网站时希望保留的某些UI首选项非常有用,在服务器端更容易,因为会话过期后您无需注册即可查看首选项。

这样,您可以直接在Cookie中设置首选项,而无需发出AJAX请求,并保存在上的会话/用户配置文件中服务器端。这对于您在重新访问网站时希望保留的某些UI首选项非常有用,在服务器端更容易,因为会话过期后,您无需注册即可查看首选项。

您可以从服务器端设置httponly cookies,而javascript无法查看这些cookies。那会给你想要的效果


我有时依赖cookies来存储来自javascript的少量客户端数据,我知道这是次优的,因为浏览器会在每个请求中将cookie发送到服务器,即使它只在客户端使用。

您可以从服务器端设置httponly cookies,而javascript无法看到这些。那会给你想要的效果



我有时依赖cookie来存储来自javascript的少量客户端数据,我知道这是次优的,因为浏览器会在每个请求中将cookie发送到服务器,即使cookie只在客户端使用。

请澄清;JavaScript操纵cookies是完全合理和可接受的。它本身并不产生XSS问题。写得不好的网站确实如此。

让我们澄清一下;JavaScript操纵cookies是完全合理和可接受的。它本身并不产生XSS问题。写得不好的网站确实如此。

因为这是一项基本功能。如果这让您感到不安,请使用NoScript。这与我无关,而是与用户有关,他们的Cookie被XSS漏洞捕获,保存在一个巨大的不可维护的代码库中,我们希望从头开始重建,但禁止这样做。:)HTTP-Only cookies很酷…@dirtside根据这一论点,我们应该在每次运行时消除所有可能伤害用户的东西,以减轻用户对它的不当使用。您或您是否打算使用Facebook Connect或类似的服务?如果是的话,没有JS Cookie交互是不可能的,因为这是一个基本的功能。如果这让您感到不安,请使用NoScript。这与我无关,而是与用户有关,他们的Cookie被XSS漏洞捕获,保存在一个巨大的不可维护的代码库中,我们希望从头开始重建,但禁止这样做。:)HTTP-Only cookies很酷…@dirtside根据这一论点,我们应该在每次运行时消除所有可能伤害用户的东西,以减轻用户对它的不当使用。您或您是否打算使用Facebook Connect或类似的服务?如果是的话,没有JS Cookie交互是不可能的。如果没有Cookie,您将如何实现会话?使用URL参数?这比饼干还糟糕。从web开发人员的角度来看,用户名=sean&password=1234的cookie是愚蠢的。但是一个带有hide_tips=true的cookie无论如何都是无害的。那么,如果没有cookie,您将如何实现会话呢?使用URL参数?这比饼干还糟糕。从web开发人员的角度来看,用户名=sean&password=1234的cookie是愚蠢的。但是hide_tips=true的cookie无论如何都是无害的,但并非所有浏览器都理解HTTPOnly cookie。即使他们理解,也有一些存在bug。浏览器支持/XMLHttpReporte黑客状态表:仍然比100%的浏览器在XSS攻击下放弃cookie要好。但并非所有浏览器都只理解HttpReporte cookies。即使他们理解,他们中的一些人也有bug。浏览器支持/XMLHttpReporte黑客状态表:仍然比100%的浏览器因XSS攻击而放弃cookie要好。