Javascript利用具有samesite属性的cookie?

时间:2019-05-09 23:40:53

标签: javascript cookies samesite

如果将cookie设置为具有严格相同的网站,是否可以使用javascript将其发送到另一个站点,例如使用javascript获取cookie并将其发送给另一个用户?

2 个答案:

答案 0 :(得分:1)

是的。您指的是在客户端浏览器上运行脚本的状态。 samesite cookie表示浏览器处理站点的cookie时其请求的行为,但脚本仍可在本地对其进行访问。

就像@jameslol一样,您可以参考带有标记的HttpOnly cookie。 服务器可以为HttpOnly响应标头设置Set-Cookie标志。 如果您目标计算机的浏览器支持HttpOnly标志,则本地脚本无法访问Cookie。

但是,如果浏览器不支持此标志,它将设置一个常规的cookie,从而生成可由客户端脚本访问的cookie。

其他阅读内容:

答案 1 :(得分:0)

是的,可以使用javascript读取samesite cookie。因此,它们像其他cookie一样容易受到XSS攻击。

您可以通过在任何网站上打开chrome inspector并输入以下内容来自己进行测试:

// Set cookie
document.cookie = 'auth=lol;samesite=strict';
// Read cookie
console.log(document.cookie); // "auth=lol"

您可能正在考虑httpOnly?设置httpOnly将阻止阅读javascript,因此将阻止XSS。 https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Security