标签:基本 java asc 设置 成功 contain 配置 str ajax
谨以此博客记录我今天踩的坑,AJAX的请求基本上与CSRF无缘了!!!(那为什么又有人说防csrf的方法之一是为XMLHttpRequest设置一个CSRFToken的头信息呢? )
为什么说基本上呢?有两个原因:
1.服务器配置原因,X-Requested-With: XMLHttpRequest在跨域请求中一般都会被去掉,貌似配置了的话就另说了
2.本人很菜,如果有大佬有很骚很骚的操作绕过的话另说了,同时请大佬也教教我,菊花献上!!!感谢
简单说下原因吧,其实今天花了几乎一下午的时间搞这个,其中的辛酸之后自己知道,最后才发现其实不成功的原因很简单,CSRF叫跨站点请求伪造,一般我们验证的csrf时说白了都是在跨域!
而服务器判断请求时AJAX请求还是传统请求时,一般都是根据请求头中是否有X-Requested-With: XMLHttpRequest,有该头信息就是ajax请求
而跨域的时候会自动将该头信息删除掉
所以两者相矛盾
我先尝试手动加该头信息:xhr.setRequestHeader(
"X-Requested-With"
,
"XMLHttpRequest"
);
标签:基本 java asc 设置 成功 contain 配置 str ajax
原文地址:https://www.cnblogs.com/jinqi520/p/9924615.html