84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
在浏览器中需要使用Ajax访问REST API, Token保存在cookie或localstorage中是否可行,会不会被窃取或者CSRF攻击?如果使用JS读取来添加到请求中, 那么当第一次访问时, 如何带上Token?(根据有无Token判断用户身份来渲染首页).刚刚接触前端没多久,Web安全方面不是很懂,请知道的朋友帮忙解答一下, 谢谢.
CSRF的是利用了浏览器给域下的请求自动带上保存的cookie,因此服务器端单纯用cookie判断的话确实会有问题。
常见解决的方案:1. 把token放在cookie/ls里,用js读取cookie中的token,放到ajax请求的参数中。服务器端用参数而非cookie读token。2. 遵照HTTP规范,更新资源用POST,这样不能完全防范,但能提升CSRF攻击的成本,常见的img标签攻击会失效3. 服务器端对请求的refer做判断,过滤跨域的敏感请求
建议以上几点都采用,能把CSRF攻击的门槛提高到相对比较安全的级别
CSRF的是利用了浏览器给域下的请求自动带上保存的cookie,因此服务器端单纯用cookie判断的话确实会有问题。
常见解决的方案:
1. 把token放在cookie/ls里,用js读取cookie中的token,放到ajax请求的参数中。服务器端用参数而非cookie读token。
2. 遵照HTTP规范,更新资源用POST,这样不能完全防范,但能提升CSRF攻击的成本,常见的img标签攻击会失效
3. 服务器端对请求的refer做判断,过滤跨域的敏感请求
建议以上几点都采用,能把CSRF攻击的门槛提高到相对比较安全的级别