Home > Learning > wordpress后台隐藏

wordpress后台隐藏

这几天有人一直在爆破后台,先吐槽这个人可能有点傻,爆破后台连用户名都猜不对,看看前台文章作者先猜猜就行了嘛。。

隐藏wp-admin有几种方法:

1.限定访问wp-admin文件夹的地址

在wp-admin目录下新建一个.htaccess文件:


AuthUserFile /dev/null

AuthGroupFile /dev/null

AuthName "acess verify"

AuthType Basic

order deny,allow

deny from all

allow from xx.xx.xx.xx

写自己想要的ip就会,就算进不来了,进服务器改也很安全。

2.修改后台文件夹的名字在wordpress文件夹下建一个.htaccess:

NAMEYOUCHANGE的是要改的文件夹名字

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_URI} wp-admin/

RewriteCond %{QUERY_STRING}!后面可以设置一个密码

RewriteRule .*\.php [F,L]

RewriteCond %{QUERY_STRING}!与上面的那个密码相同

RewriteRule ^NAMEYOUCHANGE/(.*) wp-admin/$1?%{QUERY_STRING}&与上面的那个密码相同[L]

然后三个文件里的wp-admin要改成上面修改的文件夹的名字:


wp-admin/includes/media.php

wp-includes/script-loader.php

wp-includes/link-template.php

访问的话访问http://domain/NAMEYOUCHANGE?你改的密码
3.新建一个较复杂的文件夹比如/newfloder/

在目录下新建php文件比如aaa.php,内容为:


<?php
$SecretCode="RandomStringHere"; //请把 RandomStringHere 改成自己的随机字符串
setcookie("SecureAdminSession",$SecretCode,0,"/");
header("Location: /wp-admin/"); //请把 /wp-admin/ 你要进入网页的地址(如后台网址),可以使用绝对地址
?>

接下来在新建的.htaccess中:


RewriteEngine On
RewriteCond %{REQUEST_URI} ^/wp-admin/
RewriteCond %{HTTP_COOKIE} !SecureAdminSession=RandomStringHere
RewriteRule .* - [L,F]

这样只有访问http://domain/newfloder/aaa.php才能跳转wp-admin,否则404。

 

问题:写完htaccess后发现不起作用。

解决方法:网上查了是httpd.conf的问题,AllowOverride的None改成All了,AccessFileName后面改成.htaccess,AllowOverride所在的Distory改成web根目录了还是不行,然后改成wp-admin的物理路径就解决了。

 

另外:上面修改后台地址的同时,不要忘记修改wp-login.php的存在,不然就是白设置前面的,比如我的登录页面为test.php,那么首先将原wp-login.php里所有wp-login.php修改为test.php,再将/wp-includes/general-template.php里的$login_url的wp-login.php修改为test.php。这样基本上能保证不会通过登录页面进行爆破。当然也可以通过添加验证码、人机识别等技术来防止爆破,但是我觉得,如果连登录页面都找不到,那就算有账号密码了都没办法登录后台。

还有就是有黑客通过xmlrpc.php文件绕过验证,爆破账户密码,直接删掉xmlrpc.php就问题不大了。

You may alo like...

(1) Comment

  1. Cao

    thx a lot.

发表评论

电子邮件地址不会被公开。 必填项已用*标注