从日志中我得到错误:
ModSecurity:使用代码403拒绝访问(阶段2)。 运营商EQ在REQUEST_HEADERS处匹配0。 [msg"请求缺少用户代理标题"] [严重性"通知"] [tag" OWASP_CRS / PROTOCOL_VIOLATION / MISSING_HEADER_UA"]
但是当我登记网络>标题存在的XHR标签:
User-Agent:Mozilla / 5.0(Windows NT 6.1; Win64; x64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 55.0.2883.87 Safari / 537.36
我使用标准的AngularJS:
const ajax = function(data, url, completeFn, errorFn){
$http({
method: 'POST',
url: url,
data:data,
headers:{
'Accept': "application/json",
'Content-Type': "application/json"
}
})
.then( completeFn, errorFn );}
后来被
打电话this.select_all = function( callback ){
ajax({action: 'select_all'}, url,
function(response){
self.allFolders = response.data;
if(callback){ callback(response); }
},
defError
);}
我正在使用mod_rewrite规则:
<IfModule mod_rewrite.c>
RewriteEngine On
Options FollowSymLinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /webpage/#/$1 [L]
</IfModule>
当我完全禁用mod_security时,一切正常。但我不确定我是否愿意这样做。我用谷歌搜索了2个小时,无法找到类似问题。我一定做错了什么。应该怎么做?