找回密码
 注册帐号
查看: 1607|回复: 0

EMLOG程序实用防CC攻击代码教程

[复制链接]

905

主题

28

回帖

6050

积分

版主

发表于 2017-7-24 08:11:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册帐号

×
MLOG程序没有自己的防护措施,找了一款PHP代码修改成EMLOG的。也就凑活用吧。本教程;来源em论坛,至于有没有用,小高也表示不清楚、不知道,本站为收藏,万一你正好需要呢下面的代码(将下面代码插入在module.php文件内):
  1. <?php
  2. function sheli_cc(){
  3.        session_start();
  4. $timestampcc = time();
  5. $cc_nowtime = $timestampcc;
  6. if(isset($_SESSION['cc_lasttime'])){$cc_lasttime = $_SESSION['cc_lasttime'];$cc_times = $_SESSION['cc_times']+1;$_SESSION['cc_times'] = $cc_times;
  7. }else{$cc_lasttime = $cc_nowtime;$cc_times = 1;$_SESSION['cc_times'] = $cc_times;$_SESSION['cc_lasttime'] = $cc_lasttime;}
  8. if(($cc_nowtime-$cc_lasttime)<60){if($cc_times>=3){header(sprintf('Location:%s', 'http://127.0.0.1'));exit;}//60秒内刷新3次以上可能为cc攻击
  9. }else{$cc_times = 0;$_SESSION['cc_lasttime'] = $cc_nowtime;$_SESSION['cc_times'] = $cc_times;}
  10. }
  11. ?>
复制代码
代码二
  1. <?php
  2. function sheli_cc(){
  3.         //代理IP直接退出
  4.         empty($_SERVER['HTTP_VIA']) or exit('Access Denied');
  5.         //防止快速刷新
  6.         session_start();
  7.         $seconds = '60'; //时间段[秒]
  8.         $refresh = '3'; //刷新次数
  9.         //设置监控变量
  10.         $cur_time = time();
  11.         if(isset($_SESSION['last_time'])){
  12.                 $_SESSION['refresh_times'] += 1;
  13.         }else{
  14.                 $_SESSION['refresh_times'] = 1;
  15.                 $_SESSION['last_time'] = $cur_time;
  16.         }
  17.         //处理监控结果
  18.         if($cur_time - $_SESSION['last_time'] < $seconds){
  19.                 if($_SESSION['refresh_times'] >= $refresh){
  20.                         //跳转至攻击者服务器地址
  21.                         header(sprintf('Location:%s', 'http://127.0.0.1'));
  22.                         exit('Access Denied');
  23.                 }
  24.         }else{
  25.                 $_SESSION['refresh_times'] = 0;
  26.                 $_SESSION['last_time'] = $cur_time;
  27.         }
  28. }
  29. ?>
复制代码
然后在head.php文件的require_once View::getView('module');后面插入echo sheli_cc();
美好的一天从现在开始
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

Archiver|sitemap|小黑屋|手机版原版|安全之家

GMT+8, 2025-4-11 08:22 , Processed in 0.206481 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表