任何人都可以帮我创建阻止用户基于ip,cookie值和访问过的URL作为.htaccess文件输入的阻止规则。
几点:
编辑: jon回答了我的上述问题, 但我也想将.htaccess文件中的这些IP(%{REMOTE_ADDR})/ cookie值(%{HTTP_COOKIE})记录到服务器上的某个文件中。
答案 0 :(得分:1)
您可以将所有这些条件合并为一个规则:
RewriteEngine On
# by IP
RewriteCond %{REMOTE_ADDR} ^123.45.67.89$ [OR]
RewriteCond %{REMOTE_ADDR} ^123.45.67.88$
如果IP是123.45.67.89或123.45.67.88,那就做点什么。
# By cookie
RewriteCond %{HTTP_COOKIE} foo=bar; [OR]
RewriteCond %{HTTP_COOKIE} !something
如果以太有一个名为 foo 的cookie,其值为 bar ,或者如果没有名为的的cookie,那就做点什么
# by request
RewriteRule ^/?(bad_url|should/not/have/access|my_images) /blocked.html [L,R]
因此,如果满足上述所有条件,并且请求/bad_url
,/should/not/have/access
或/my_images
,则浏览器会重定向到/blocked.html