使用.htaccess来限制基于引荐来源的访问?

时间:2012-05-20 08:18:29

标签: wordpress .htaccess mod-rewrite user-agent referrer

我想使用.htaccess规则加强Wordpress我的博客的安全性。基本上,我想在以下情况下禁止连接:

  • useragent为空
  • referrer字符串为空
  • 引用字符串到一些选定的php文件不是来自我的域

我想出了以下代码。我是在正确的轨道上吗?如果没有,请建议我应该做些什么来解决它。谢谢!

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} ^$
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteCond %{REQUEST_URI} wp-comments-post\.php* [NC]
    RewriteCond %{REQUEST_URI} wp-admin\.php* [NC]
    RewriteCond %{REQUEST_URI} wp-login\.php* [NC]
    RewriteCond %{HTTP_REFERER} !.*example.com.* [NC]
    RewriteRule . - [R=403,L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

好的,我已经弄明白了。我能够想出一个我认为有效的片段:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} wp-comments-post\.php* [NC,OR]
    RewriteCond %{REQUEST_URI} wp-admin\.php* [NC,OR]
    RewriteCond %{REQUEST_URI} wp-login\.php*
    RewriteCond %{HTTP_REFERER} !.*tambnguyen.com.* 
    RewriteRule . - [R=403,L]
</IfModule>

当我没有登录时,看起来我无法使用新的浏览器窗口/标签访问http://tambnguyen.com/wp-admin/。我可以点击一个秘密链接登录。此外,一旦我登录,我可以毫无问题地访问http://tambnguyen.com/wp-admin/