最近wordpress安全问题被小编我所关注着,我们如何做才能最大程度上保护我们的wordpress程序不被黑客所攻击?可能很多技术大牛都习以为常了,但是毕竟还是有很多菜鸟不知道的,本帖为一篇wordpress安全防护的扫盲贴吧,帮助大家尽可能的提升wordpress程序的安全性!亲身经验,这里面小编整理了几个方面:
wo-login文件
wordpress自身系统来说,最直接的危害就是wp-login.php这个后台路径已经不在是什么秘密了,最好的解决方法无非也就是如何把这个后台路径给屏蔽或替换一个更隐蔽的地址,这里小编就说些最简单,小白也能够看懂的方法:
一、首先找到wordpress根目录下的wp-login.php文件,用代码编写软件打开,编辑里面代码,搜索wp_shake_js找到
if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) ) add_action( 'login_head', 'wp_shake_js', 12 );
在这段后面加入代码
if($_GET["aa"] !="bb"){header('Location:/404');}
其中aa、bb替换为自己的内容,然后wordpress后台的地址就变成了 http://www.2zzt.com/ wp-login.php?aa=bb 结构了,这就成了您wordpress后台的唯一路径,其他路径均跳转到404页面了!这样,被恶意破解的入口就被封锁了。
后台帐号admin
为了更加的安全,建议大家或者说一定不要将admin还作为网站管理帐号登陆,这给暴力破解带来了方便!
wp-admin目录
这个问题延伸出一个更为深点的问题,那就是我们如何把wp-admin目录也保护起来呢?小编给的方法虽然有点麻烦,但是绝对很安全,那就是在wp-admin目录下新建个.htaccess让只有你一个IP能够访问,这个方法麻烦就麻烦在如果你的网是动态IP,那么就要进.htaccess修改一次IP,才可访问,但是这方法也绝对够安全了。.htaccess的内容为:
order deny, allow allow from 888.888.888.8888 #Your IP Address deny from all
换为自己的IP即可,那么wp-admin目录只有你一人可以访问了!说到这,后台目录路径的问题安全了!
wordpress头部信息
隐藏头部不必要出现的信息,例如wordpress版本号等等,暴力攻击者掌握了我们的wordpress版本号后就可以根据目前已知漏洞进行攻击了,解决的方法是在我们的主题文件夹的functions.php内添加下面信息,以方便隐藏了wordpress不必要出现的信息,也给网站优化方面带来好处!
//移除头部多余信息
remove_action('wp_head','wp_generator');//禁止在head泄露wordpress版本号 remove_action('wp_head','rsd_link');//移除head中的rel="EditURI" remove_action('wp_head','wlwmanifest_link');//移除head中的rel="wlwmanifest" remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );//rel=pre remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 );//rel=shortlink remove_action('wp_head', 'rel_canonical' );
绝对路径泄漏修复
wordpress系统自身来说,有4个文件会暴漏出网站所在服务器下的绝对路径,这个信息如果被恶意利用,那后果也是很严重的!为了不被别人发现我们的网站绝对路径,我们需要对以下四个文件进行操作,分别是:
1、/wp-includes/registration-functions.php 2、/wp-includes/user.php 3、/wp-admin/admin-functions.php 4、/wp-admin/upgrade-functions.php
解决方法就很简单了,分别打开这几个文件,然后在文件的头部的
error_reporting(0);
即可屏蔽报错,当然我们如果用的是服务器,而不是虚拟主机的话,也最好到服务器下的php.ini文件里关闭php报错,一般php.ini文件的路径在/usr/local/php/etc下,修改php.ini文件内display_errors = off 即可屏蔽整个服务器的php报错!
说到这,我们的wordpress应该已经十分的强悍了,至少常见问题都已经解决,山外有山,人外有人这也是没有办法的,最后小编建议大家如果是在用服务器VPS的情况下,尽量少开端口,一般开个80和22端口即可!端口越多,漏洞越多,安全性就受到打折!