修改Emlog验证码机制,有效防止恶意识别/解决恶意评论灌水 - 小Q博客

今日已更 1个资源 | 共分享了个资源

修改Emlog验证码机制,有效防止恶意识别/解决恶意评论灌水

本文作者: 小Q博客     发布于「2019-11-18」 

作者: 小Q博客

全网最全的网络资源分享网站

手机扫码查看

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

加入官方群 小Q防红 看片神器 加速vpn

Emlog被恶意评论灌水解决方法,关于Emlog验证码机制问题,用emlog程序都知道,它已经不存在更新了,所以emlog评论验证码代码年久失修了,可以无视验证码评论,因此咱也不说是谁的刷灌水机了。

自己也被刷评论唉

验证码绕过漏洞原理:

1、利用NULL和空字符串比较的结果是TRUE从而绕过验证码检查逻辑

2、正常留言输入验证码进行BurpSuite抓包
3、将PHPSESSID修改成随意一个值,目的是让其$_SESSION不存在,再将imgcode修改成空。
4、发送数据包,可见没有提示失败(302跳转了),说明评论成功。
5、载入一个字典,即可刷评论。
6、可利用代理IP多线程即可实现无拦截评论恶意灌水轰炸

处理方案一:

 

1.开启session并且将是否为空的行为进行判断
2.违规词拦截(emlog用户免费提供emlog违规词拦截魔改插件和极猫云WAF防护)
3.添加第三方滑块验证

修复方案二:修改Emlog验证码机制

1、打开程序路径/include/lib/checkcode.php文件,把下面代码全部替换到checkcode.php里面即可

<?php
/**
 * Emlog验证码防干扰
 * Em: 1989313426@qq.com
 */
 
session_start();
 
$randCode = '';
$chars = 'abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPRSTUVWXYZ23456789';
for ( $i = 0; $i < 5; $i++ ){
	$randCode .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
 
$_SESSION['code'] = strtoupper($randCode);
 
$img = imagecreate(75,25) or die("创建图像资源失败,请刷新页面");
$bgColor = isset($_GET['mode']) && $_GET['mode'] == 't' ? imagecolorallocate($img,245,245,245) : imagecolorallocate($img,255,255,255);
$pixColor = imagecolorallocate($img,mt_rand(88, 245), mt_rand(55, 240), mt_rand(99, 200));
//画字符、大小
for($i = 0; $i < 5; $i++){
	$x = $i * 13 + mt_rand(3, 7) - 2;
	$y = mt_rand(0, 3);
	$text_color = imagecolorallocate($img, mt_rand(100, 250), mt_rand(80, 180), mt_rand(90, 220));
	imagechar($img, 5, $x + 5, $y + 3, $randCode[$i], $text_color);
}
//画干扰点
for($j = 0; $j < 240; $j++){
	$x = mt_rand(0,500);
	$y = mt_rand(0,100);
	imagesetpixel($img,$x,$y,$pixColor);
}
//4条横斜线
for ($i=0; $i < 5; $i++) { 
    $lineColor = imagecolorallocate($img, rand(50, 150), rand(50, 150), rand(50, 150));
    $lineX1 = 0;
    $lineX2 = 90;
    $lineY1 = ($i + 1) * 8;
    $lineY2 = ($i + 1) * 15;
    imageline($img, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor);
}
 
//4条竖斜线
for ($i=0; $i < 5; $i++) { 
    $lineColor = imagecolorallocate($img, rand(50, 150), rand(50, 150), rand(50, 150));
    $lineY1 = 0;
    $lineY2 = 90;
    $lineX1 = ($i + 1) * 8;
    $lineX2 = ($i + 1) * 15;
    imageline($img, $lineX1, $lineY1, $lineX2, $lineY2, $lineColor);
}
 
header('Content-Type: image/png');
imagepng($img);
imagedestroy($img);
分享到:
打赏
官方群 99直播

本站开启投稿功能注册账号即可投稿
头像
本文作者描述: 专注于网络资源娱乐技术教程分享
文章版权信息

阅读时间:  发布于:2019-11-18
本文标题:修改Emlog验证码机制,有效防止恶意识别/解决恶意评论灌水
本文链接:http://www.xiaoqbk.com/571.html
版权声明:文章为《 小Q博客》原创,转载请保留出处!

百度:[百度已收录]360:[360已收录]搜狗:[搜狗已收录]

评论

未显示?请点击刷新
  1. #1
    李骏 游客 Lv.4

    不错可以

切换注册

登录

您也可以使用第三方帐号快捷登录

切换登录

注册

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

修改Emlog验证码机制,有效防止恶意识别/解决恶意评论灌水

长按图片转发给朋友