昨日小V在群中闲聊时发现很多wordpress站长都很不注意网站的信息安全,各种漏洞、各种信息泄露。接下来小V就来教大家为自己的wordpress修复一些常见的bug,预防黑客。
首先是wordpress的全版本通杀爆绝对路径漏洞:
1、/wp-includes/registration-functions.php
2、/wp-includes/user.php
3、/wp-admin/admin-functions.php
4、/wp-admin/upgrade-functions.php
只要直接访问以上文件或者访问当前wordpress网站的主题目录下任意php文件都会爆出网站的绝对路径,就连wordpress官方的主题twentytwelve也不例外。
解决方法一、在以上文件的的头部 <?php 后加入:
error_reporting(0);
解决方法二、直接修改php.ini屏蔽php报错。(参考:http://v7v3.com/wpjiaocheng/201310316.html)
保护wordpress后台不被直接访问,防止直接post登录wordpress后台。
早在v7v3刚上线的时候小v就写过一篇隐藏wordpress后台的文章《wordpress防黑教程之保护登录文件wp-login.php》此方法只是使用$_GET对wp-login.php做一个访问的障眼法而已。其实仔细分析下wordpress登录页面代码不难发现wordpress是以post的方式来提交登陆参数的,如下图:
也就是说我们可以不用访问wp-login.php文件,而是直接通过post递交参数给wp-login.php来直接登录网站后台,那么之前小V所提到的$_GET对wp-login.php做的访问限制就形同虚设,那么该如何来有效的防止wordpress的登录文件不被直接访问而且不能以常规的post方式来登录网站后台呢?
第一步:我们登录后台进入到常规选项:在WordPress地址(URL)这一栏加上/v7v3如下图:
第二步:我们在网站根目录下新建一个名为v7v3的目录,然后将除了index.php、robots.txt以及.htaccess之外的所有网站文件移至v7v3目录(登录变为域名/v7v3/wp-login.php)。
第三步:打开index.php并将
require('./wp-blog-header.php');
修改为:
require('./v7v3/wp-blog-header.php');
这样一来wordpress的后台地址以及登录post提交参数的地址都随着wordpress系统文件的移动而改变了,再配合小V写的$_GET访问限制方法就可以达到很好的防黑效果。
投递者/原文作者:小V http://v7v3.com
原文链接:http://v7v3.com/wpjiaocheng/201310350.html