We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
大家应该很收悉csrf了,我就不赘述了.总结一下现在通用的几种防csrf的方法.
cors是浏览器执行的跨域政策.基础的我就不写了,分享两个特别的地方:
做法很简单,让前端在每个请求前都加上
crsf_avoid_header: whatever
服务器校验一下有没有这个header就好了.
原理就很简单了,我们知道恶意网站无论如何是不能设置这个header的,想设置先变成复杂请求,然后判断一下是否同源,只要你没有信任恶意网站,那么除了你自己没人能带着header成功访问.
我发现这个问题之后,在v2ex发了帖子,发现很多人根本没有理解csrf是什么,争论的根本不是一件事.无奈只能去英文社区寻找支持,果然质量就搞了很多.
我想出来的方法更简单,而且足以防范crsf,但是为什么没有成为更广泛的做法呢?
资源:
https://security.stackexchange.com/questions/10227/csrf-with-json-post
http://blog.alutam.com/2011/09/14/jersey-and-cross-site-request-forgery-csrf/
http://security.stackexchange.com/questions/22903/why-refresh-csrf-token-per-form-request
http://security.stackexchange.com/questions/23371/csrf-protection-with-custom-headers-and-without-validating-token
The text was updated successfully, but these errors were encountered:
Petelin
No branches or pull requests
通过cors政策来规避csrf
csrf
大家应该很收悉csrf了,我就不赘述了.总结一下现在通用的几种防csrf的方法.
cors
cors是浏览器执行的跨域政策.基础的我就不写了,分享两个特别的地方:
通过cors来规避csrf
做法很简单,让前端在每个请求前都加上
服务器校验一下有没有这个header就好了.
原理就很简单了,我们知道恶意网站无论如何是不能设置这个header的,想设置先变成复杂请求,然后判断一下是否同源,只要你没有信任恶意网站,那么除了你自己没人能带着header成功访问.
我发现这个问题之后,在v2ex发了帖子,发现很多人根本没有理解csrf是什么,争论的根本不是一件事.无奈只能去英文社区寻找支持,果然质量就搞了很多.
我想出来的方法更简单,而且足以防范crsf,但是为什么没有成为更广泛的做法呢?
资源:
https://security.stackexchange.com/questions/10227/csrf-with-json-post
http://blog.alutam.com/2011/09/14/jersey-and-cross-site-request-forgery-csrf/
http://security.stackexchange.com/questions/22903/why-refresh-csrf-token-per-form-request
http://security.stackexchange.com/questions/23371/csrf-protection-with-custom-headers-and-without-validating-token
The text was updated successfully, but these errors were encountered: