我想使用Apache Mod_security阻止代理(x转发)ip某些页面(wp-comments-post.php)。
我目前的mod_security规则:
SecRule REQUEST_HEADERS_NAMES "^x-forwarded-for" "log,deny,id:48,status:403,t:lowercase,msg:'Don't use Proxy'"
你应该可以使用类似的东西
<LocationMatch "wp-comments-post.php" > SecRule &REQUEST_HEADERS:X-Forwarded-For "@gt 0" "log,deny,id:48,status:403,msg:'Don't use Proxy'" </LocationMatch>
我没有一台机器可以方便地testing这个,但是如果有> 0个X-Forward-For请求标题,它应该拒绝访问相关位置。 许多公司使用代理,所以你可能会发现你需要做这个“@gt 1”来减less误报。 apache Location和LocationMatch文档。
我相信你可以做到这一点,如果你把一个位置指令内的modsec规则,例如。
<Location /koko/lala/wp-comments-post.php > SecRule .... </Location>