本文转自:http://www.farisl.com/htaccess-wordpress.html

最近一朋友的博客添加了翼帆兄的邮件通知后,后台老是被人恶意登陆,收到一大堆的登陆失败提醒。之前就问过我关于后台防护的方法,由于一直没有时间,也没有给发过去。

今天呢,就给大家分享一下利用.htaccess来限制只有自己的电脑IP可以登录WordPress后台的方法,如此一来别人不管怎么样都别想登陆进去了~

利用.htaccess限制IP登陆:

1、固定IP

如果你是使用固定IP的話,在wp-admin下新增.htaccess文件

新增以下内容,将红字部份改为你的IP即可,网址看你要转向到哪个网页了,正常来说建议输入自己的首页喽,谁也不会输入别人的网页帮别人打广告吧~@@

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REMOTE_ADDR} !^12.114.22.10

RewriteRule .* http://你要转向的页面/ [R,L]

</IfModule>

修改之后,只要不是你的IP位址想要进入后台就会跳转到你要转向的页面,就算是利用 http://网址/wp-login.php,最多只能看到账号密码输入,点击登陆之后还是会跳转到你要转向的页面。

2、动态IP

以动态IP来说,原则上前2位位址都是固定的,变的通常是后面2个,所以我们在.htaccess里可以如此设定,修改前2个位址为你的即可

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REMOTE_ADDR} !^12.114.

RewriteRule .* http://你要转向的页面/ [R,L]

</IfModule>

3、wp-login.php提示404页面

如果你觉得只锁了wp-admin文件夹还不都的话,想连wp-login.php也要限制,那就在网站的跟目录下找到.htaccess(如果没有,那就自己手动创建喽),新增以下语法,同上,只要将IP换成你的IP即可,如果你是动态IP,则改为12.114. 即可

<Files wp-login.php>

Order deny,allow

Deny from All

Allow from 12.114.22.10

</Files>

相对的,我们也不一定要让他变成404页面,当然也可以和wp-admin一样,转到指定的页面,使用以下语法:

<IfModule mod_rewrite.c>

RewriteCond %{REQUEST_URI} wp-login.php

RewriteCond %{REMOTE_ADDR} !^12.114.22.10

RewriteRule .* http://你要转向的页面/ [R,L]

</IfModule>

最后补充一个说法,如果想要限制别人查看你的目录内容,.htaccess也是可以做到的 ,加入以下语法就可以了

Options All –Indexes

如此以来。

输入

http://网址/wp-content/plugins

http://网址/wp-content/themes

就看不到里面的目录了~全部会被转至404页面,别人就不知道你装了什么了

最后补充一下,如果你的ip段也不固定的话,那就这样写喽

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{REMOTE_ADDR} !^12.114.

RewriteCond %{REMOTE_ADDR} !^12.114(第二个IP段).

RewriteCond %{REMOTE_ADDR} !^12.114(第三个IP段).

。。。。。。。

RewriteRule .* http://你要转向的页面/ [R,L]

</IfModule>