wordpress安全防护知多少?

最近wordpress安全问题被小编我所关注着,我们如何做才能最大程度上保护我们的wordpress程序不被黑客所攻击?可能很多技术大牛都习以为常了,但是毕竟还是有很多菜鸟不知道的,本帖为一篇wordpress安全防护的扫盲贴吧,帮助大家尽可能的提升wordpress程序的安全性!亲身经验,请复制党留个出处 www.2zzt.com !
这里面小编整理了几个方面:

wo-login文件

wordpress自身系统来说,最直接的危害就是wp-login.php这个后台路径已经不在是什么秘密了,最好的解决方法无非也就是如何把这个后台路径给屏蔽或替换一个更隐蔽的地址,这里小编就说些最简单,小白也能够看懂的方法:

一、首先找到wordpress根目录下的wp-login.php文件,用代码编写软件打开,编辑里面代码,搜索wp_shake_js找到

  1. if ( $shake_error_codes && $wp_error->get_error_code() && in_array( $wp_error->get_error_code(), $shake_error_codes ) )  
  2.         add_action( 'login_head', 'wp_shake_js', 12 );  

在这段?>的下一行加入代码

  1. <?php       
  2.     if($_GET["aa"]!="bb"){       
  3.    header('Location: http://www.2zzt.com');        
  4. }             
  5. ?>  

其中aa、bb替换为自己的内容,然后wordpress后台的地址就变成了 http://www.2zzt.com/ wp-login.php?aa=bb 结构了,这就成了您wordpress后台的唯一路径,其他路径均跳转到首页了!当然这个代码也可以放在主题的文件里,这样每次wordpress更新就不需要再修改一次了,在主题文件下找到functions.php,将下面代码加入即可得到同样的效果!

  1. add_action('login_enqueue_scripts','login_protection');   
  2. function login_protection(){   
  3.     if($_GET['aa'] != 'bb')header('Location: http://www.2zzt.com/');   
  4. }  

但是话说回来,我们仔细研究下wordpress的登陆文件会发现,其实wordpress的登陆是采用post的方式来提交登陆参数的,所以说,即使我们做了后台地址的隐藏,但是通过post提交还是可以登陆到wordpress的后台,那么这样我们该如何做呢?

解决方法只有把wordpress转移到子目录下,操作方式是

a、wordpress后台-设置-常规下 wordpress地址(url)换成http://www.2zzt.com/aaa(aaa为我们自己设置的,是没有人知道的)

b、在我们的网站根目录下创建一个aaa文件夹(aaa为上面所说的名称),然后将根目录下的所有文件(除了index.php、robots.txt以及.htaccess外)的所有文件转移到这个aaa文件夹下,那么我们现在的登陆后台就变成了http://www.2zzt.com/aaa/wp-login.php,而aaa是没有人知道的地址。。。

wordpress搬到子目录后还要将根目录下index.php文件内容

  1. require('./wp-blog-header.php');  

修改为:

  1. require('./aaa/wp-blog-header.php');  

小编不得不提示下,这里的aaa是你们自己设置的子目录的名称,要活学活用哈!

这样一来,后台地址隐藏了,且无法通过post来提交登陆信息了。。。这是黑客也无从下手的节奏啊!

后台帐号admin

为了更加的安全,建议大家或者说一定不要将admin还作为网站管理帐号登陆,这给暴力绿色带来了方便。同时,通过?author=$id也可以很简单的爆出我们的管理帐号,例如:222.com/?author=*(*号为1-9999数字)即可轻而易举的爆出我们的管理帐号,有了帐号再加上市面上的密码字典,那绿色也只是时间问题了,解决方法是在functions.php文件里添加一下一下代码:

  1. add_filter( 'request', 'v7v3_author_link_request' );  
  2. function v7v3_author_link_request( $query_vars ) {  
  3.     if ( array_key_exists( 'author_name', $query_vars ) ) {  
  4.         global $wpdb;  
  5.         $author_id=$query_vars['author_name'];  
  6.         if ( $author_id ) {  
  7.             $query_vars['author'] = $author_id;  
  8.             unset( $query_vars['author_name'] );     
  9.         }  
  10.     }  
  11.     return $query_vars;  
  12. }  
  13. add_filter( 'author_link', 'v7v3_author_link', 10, 2 );  
  14. function v7v3_author_link( $link$author_id) {  
  15.     global $wp_rewrite;  
  16.     $author_id = (int) $author_id;  
  17.     $link = $wp_rewrite->get_author_permastruct();  
  18.         
  19.     if ( emptyempty($link) ) {  
  20.         $file = home_url( '/' );  
  21.         $link = $file . '?author=' . $author_id;  
  22.     } else {  
  23.         $link = str_replace('%author%', $author_id$link);  
  24.         $link = home_url( user_trailingslashit( $link ) );  
  25.     }  
  26.         
  27.     return $link;  
  28. }  

这样重写后即可改变作者页面的链接方式了。

wp-admin目录

这个问题延伸出一个更为深点的问题,那就是我们如何把wp-admin目录也保护起来呢?小编给的方法虽然有点麻烦,但是绝对很安全,那就是在wp-admin目录下新建个.htaccess让只有你一个IP能够访问,这个方法麻烦就麻烦在如果你的网是动态IP,那么就要进.htaccess修改一次IP,才可访问,但是这方法也绝对够安全了。.htaccess的内容为:

  1. order deny, allow  
  2. allow from 888.888.888.8888 #Your IP Address  
  3. deny from all  

换为自己的IP即可,那么wp-admin目录只有你一人可以访问了!说到这,后台目录路径的问题安全了!

wordpress头部信息

隐藏头部不必要出现的信息,例如wordpress版本号等等,暴力攻击者掌握了我们的wordpress版本号后就可以根据目前已知漏洞进行攻击了,解决的方法是在我们的主题文件夹的functions.php内添加下面信息,以方便隐藏了wordpress不必要出现的信息,也给网站优化方面带来好处!

  1. //移除头部多余信息  
  2. remove_action('wp_head','wp_generator');//禁止在head泄露wordpress版本号  
  3. remove_action('wp_head','rsd_link');//移除head中的rel="EditURI"  
  4. remove_action('wp_head','wlwmanifest_link');//移除head中的rel="wlwmanifest"  
  5. remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );//rel=pre  
  6. remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 );//rel=shortlink   
  7. remove_action('wp_head', 'rel_canonical' );  

绝对路径泄漏修复

wordpress系统自身来说,有4个文件会暴漏出网站所在服务器下的绝对路径,这个信息如果被恶意利用,那后果也是很严重的!为了不被别人发现我们的网站绝对路径,我们需要对以下四个文件进行操作,分别是:

  1. 1、/wp-includes/registration-functions.php  
  2. 2、/wp-includes/user.php  
  3. 3、/wp-admin/admin-functions.php  
  4. 4、/wp-admin/upgrade-functions.php  

解决方法就很简单了,分别打开这几个文件,然后在文件的头部的<?php下一行添加

  1. error_reporting(0);  

即可屏蔽报错,其实还有一个地方会报错,那么就是我们wordpress主题的目录文件下的index.php里面,最好也加上这个代码!!!

当然我们如果用的是服务器,而不是虚拟主机的话,也最好到服务器下的php.ini文件里关闭php报错,一般php.ini文件的路径在/usr/local/php/etc下,修改php.ini文件内display_errors = off 即可屏蔽整个服务器的php报错!

说到这,我们的wordpress应该已经十分的强悍了,至少常见问题都已经解决,山外有山,人外有人这也是没有办法的,最后小编建议大家如果是在用服务器VPS的情况下,尽量少开端口,一般开个80和22端口即可!端口越多,漏洞越多,安全性就受到打折!

本文为小编和v7v3站长共同研究撰写!转载请留明出处!

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 快速入门 wordpress安全防护知多少? https://www.mbxzb.com/blog/file/rumen/3075.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务