不要温和的走进那个良夜
Do not go gentle into that good night

wordpress防黑

wordpresstarget以前也没想过wordpress防黑等相关的东东- -因为我压根不懂PHP也不知道网页安全相关,但是看到某猫同学网站被黑了之后。。。便开始担心自己的小未来了- -话说…猫同学说他自己网站流量并不是很大- –/*那我的网站岂不是没有流量了*/ 然后本来以为很安全,结果被暴力后台了,我不想把这件事跟之前的wordpress大规模入侵扯上关系,但是!!真相只有一个!那就是仇杀- –pia、被T飞~…不过为了避免前者造成的严重后果,我还是提前准备下吧…不想有大流量的站长不是好站长…

首先当然是参照猫同学的这个方法,修改默认的wp-admin.php登录界面的地址,我一度想吧这个都改掉,简单的看了一下wp-admin.php源代码发现大概是在第54行有这样一段

  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 );   
  3. ?>  

在这里加上

  1. <?php      
  2. if($_GET[“word”]!=”lfzh”){      
  3. header(‘Location:http://www.baidu.com/ ‘);      
  4. } ?>    
理论上讲应该是访问www.lfzh.org/wp-admin.php的时候会跳转到百度的说- -结果。。。毫无反应啊,好家伙
www.lfzh.org/wp-admin.php?word=lfzh也毫无作为啊- -不知道为何
。。。。
于是就试了试猫同学的做法0.0
他是直接在functions.php里面修改的,曾经我最不愿意动这一个,因为搞错了全站就会白屏,不过这一次看着靠谱。。。
伸手拿来之。。。这猫不厚道啊,居然还有防拷
  1. add_action(‘login_enqueue_scripts’,’crack_protection’);   
  2. function crack_protection(){   
  3.     if($_GET[‘word’] != ‘press’)header(‘Location: http://www.baidu.com/’);   
  4. }  
登陆界面地址就变成了为http://yoursite/wp-login.php?word=press

启蒙一下,这里press可以为任何内容,但是登陆的时候得相应的输入相关内容,但是word修改为某些特定的却无法打开(比如key)

我不会告诉你上面这一段来自某猫

OK初级防护搞定,这样admin都省略了,虽然我的ID你绝对猜不到。。。

不过这里有几个社工的相关知识诶,比如我举例if($_GET[“word”]!=”lfzh”我的word肯定不能=lfzh不然都暴露了- -还有比如我的网站本来就有管理的登陆页,那么这一段也白做了/*不知道你懂我的意思么*/

还有几个也需要注意的很严重的问题,

1安装完了wordpress没有删除install.php。

这个文件是安装程序中的支持文件,只在安装时会调用,当程序释放后就失去了作用,删除并不影响网站功能。但是此目录包含了危险的功能或信息,黑客有可能利用这些脚本或信息直接获取目标服务器的控制权或基于这些信息实施进一步的攻击。所以,我们有必要删除这个文件,以保证整个网站的安全。

2备份文件在wwwroot目录

现在一般默认情况下服务商都有自动压缩功能,很方便/*不然备份的话很纠结*/但是我的备份文件默认权限只能是在wwwroot文件夹,/*而且恢复的时候也是恢复这个文件夹*/问题就来了,如果你的备份文件让某些不怀好意的人获得了,那么你的数据库,你的用户名等等。。。直接告破

3在你不希望访问的文件夹下增加一个index.php

内容随意 比如我的就写的是

<?php
// Silence is golden.

4使用某数字或者度娘的漏洞以及挂马检查,每隔一段时间检查一次。

5使用某CDN加速器,不过貌似大多需要备案。这个的好处是可以预防DDOS等攻击。

6一个好的服务商,我的这个服务商就不支持CDN,不知道是不是吧CDN当做攻击了,结果导致短时间网站无法访问,官方给我的意见是防火墙启动了

7保护wp-config.php

wp-config.php 文件里包含的有 WordPress 数据库的重要信息。如果该文件被暴露,再强壮的数据库密码也没有用。 因此,我们可以加一段代码,在 .htaccess 文件里,来保护 wp-config.php 文件:

# 保护 wp-config.php 文件

<Files wp-config.php>

Order allow,deny

Deny from All

</Files>

 

8移除登录页面里的错误信息
在你的主题的 functions.php 文件里添加一行代码,来移除登录错误信息。这样,黑客要进行暴力破解的时候,就不知道是用户名错了,还是密码错了。

  1. add_filter(‘login_errors’,create_function(‘$a‘, “return null;”));  

让我们的wordpress更加安全!

赞(0)
未经允许不得转载:林枫紫涵 » wordpress防黑

评论 8

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #3

    cnzz.com显示没有什么访客,但是评论每天都几十条几十条的,莫非有人能进入后台?

    Near5年前 (2013-08-12)回复
    • 一般不太可能的

      admin5年前 (2013-08-13)回复
  2. #2

    我也好担心这个啊,能帮帮我不,还有就是垃圾邮件的问题,有一个ip一直给我留言,全英文,各种的都有,还有地址写着facebook的,国内被墙了,也不能查看是不是真的用户,反正全是那一个ip,这次你给我留言也显示那个ip,于是自动跳进垃圾里了,我给拽出来的。看了是有问题了。。。

    Near5年前 (2013-08-12)回复
    • @Near: Akismet这个插件,试试,然后你设置同一用户回复需要间隔10秒,然后在特别时段比如垃圾回复比较多的几天设置回复间隔1-5分钟,这样就可以啦

      admin5年前 (2013-08-13)回复
      • @admin: 这个插件的官网现在好像注册不了,被墙了吧好像

        Near5年前 (2013-08-13)回复
        • @Near: 🙂 跟gravata头像一样,不是这个插件被墙了,而是wordpress被墙了,他们都是需要发送一个wordpress的验证邮件,所以你必须要用代理访问这个邮件,激活之后就好了

          raintrue5年前 (2013-08-14)回复
  3. #1

    看了下,原理上是把后台的连接转接到百度么? :mrgreen:

    彼岸博客导航5年前 (2013-07-21)回复
    • @彼岸博客导航: 没有,下面的那个链接也是以前的没修改的,只是默认的后台地址后面加入了验证,如果验证错误会跳转到百度,而且账号密码输入错误也会跳转到百度

      admin5年前 (2013-07-22)回复