2012-10-17 27 views
0

任何人都可以帮助我创建一个阻止用户的阻止规则,基于ip,cookie值和访问URL作为.htaccess文件的输入。阻止用户使用ip和cookie使用.htaccess文件

几点:

  1. 用户应该被阻止,只能从某些目录上的网站不 整个网站
  2. 阻止用户应该被重定向到指定的URL。
  3. BlockRule不需要设置cookie,因为cookies已经存在于用户浏览器中,阻止规则只需要读取现有的cookie值,将其与块规则中的一个匹配并进行重定向。

编辑:乔恩回答我上面的查询, 但我也想记录这些IP(%{REMOTE_ADDR})/ cookie值从.htaccess文件上(%{} HTTP_COOKIE)到某些文件服务器。

回答

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。

所以做的东西,如果乙醚有一个名为与价值酒吧的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

+0

你能请回答我Edit.The解决方案,您已经给出,你已经解释的方式帮了我很多。 – David

+0

@David这是完全不相关的,查看'CustomLog'指令,这不是你可以用htaccess做的事情 –