对于一个网站来说,安全才是最重要的,如果你的网站整天被黑,黑的人清理你的数据,你做网站又有什么意思呢。

之前小舞介绍过一款插件,wordpress安全防护插件-Better WP Security,这款插件在防护wp本身自带的问题方面做的非常不错,希望大家使用以下,不打算长期使用也可以装上去看看,自己的wordpress有哪些不足。

本身问题的我们通过插件可以很清楚的看到,并且有针对性的去修复,但是还有外来的呢?

我们先来看一中常见的cc攻击

CC主要是用来攻击页面的。大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,访问的人越多,论坛的页面越多,数据库就越大,被访问的频率也越高,占用的系统资源也就相当可观。

一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是wp就不行了,wp是动态的,每次请求都会触发一次,稍微差点的主机F5几次就死了,解决这样的方法一般就是靠缓存或者静态,之前提到的wordpress缓存优化加速神器WP Super Cache插件,这款插件的第一种缓存模式已经无限的接近于静态化了,这也是一种方法,但是并不是绝对的,怕随机值!

这里我们使用第二种方法,将下面的防cc代码加入到当前使用主题的function.php中

  1. //防止CC攻击
  2. session_start(); //开启session
  3. $timestamp = time();
  4. $ll_nowtime = $timestamp ;
  5. //判断session是否存在 如果存在从session取值,如果不存在进行初始化赋值
  6. if ($_SESSION){
  7.   $ll_lasttime = $_SESSION['ll_lasttime'];
  8.   $ll_times = $_SESSION['ll_times'] + 1;
  9.   $_SESSION['ll_times'] = $ll_times;
  10. }else{
  11.   $ll_lasttime = $ll_nowtime;
  12.   $ll_times = 1;
  13.   $_SESSION['ll_times'] = $ll_times;
  14.   $_SESSION['ll_lasttime'] = $ll_lasttime;
  15. }
  16. //现在时间-开始登录时间 来进行判断 如果登录频繁 跳转 否则对session进行赋值
  17. if(($ll_nowtime - $ll_lasttime) < 3){
  18.   if ($ll_times>=5){
  19. header("location:http://127.0.0.1");
  20.   exit;
  21.   }
  22. }else{
  23.   $ll_times = 0;
  24.   $_SESSION['ll_lasttime'] = $ll_nowtime;
  25.   $_SESSION['ll_times'] = $ll_times;
  26. }

发表回复

后才能评论

评论(5)