星月设计网 首页 技术分享 discuz!技术 查看内容

Discuz!X3.4 X3.2并发刷分漏洞修复解决办法增强积分信息安全

2018-12-27 21:36| 查看: 3058| 点击图片预览大图

摘要: Discuz!X3.4 X3.2并发刷分漏洞修复:开启用户积分信息安全,可防止并发刷分,满足 times(次数)/second(秒) 的操作无法提交: 2017.08.01 更新:同步 细节 编辑:/config/config_global.php 查找: $_config = '0'; ...
Discuz!X3.4 X3.2并发刷分漏洞修复:开启用户积分信息安全,可防止并发刷分,满足 times(次数)/second(秒) 的操作无法提交

2017.08.01 更新:同步 细节

编辑:/config/config_global.php
查找:
  1. $_config['security']['querysafe']['afullnote'] = '0';
复制代码
在其下行增加:
  1. $_config['security']['creditsafe']['second']         = 1;  // 开启用户积分信息安全,可防止并发刷分,满足 times(次数)/second(秒) 的操作 无法提交, 默认 0 关闭
  2. $_config['security']['creditsafe']['times']         = 10;
复制代码


编辑:/source/class/class_credit.php
查找:
  1. function updatemembercount($creditarr, $uids = 0, $checkgroup = true, $ruletxt = '') {
复制代码
在其上行增加:
  1. function frequencycheck($uids) {
  2.                 global $_G;
  3.                 if(empty($_G['config']['security']['creditsafe']['second']) || empty($_G['config']['security']['creditsafe']['times'])) {
  4.                         return true;
  5.                 }               
  6.                 foreach($uids as $uid) {
  7.                         $key = 'credit_fc'.$uid;
  8.                         $v = intval(memory('get', $key));
  9.                         memory('set', $key, ++$v, $_G['config']['security']['creditsafe']['second']);
  10.                         if($v > $_G['config']['security']['creditsafe']['times']) {
  11.                                 system_error('credit frequency limit', true);
  12.                                 return false;
  13.                         }
  14.                 }
  15.                 return true;
  16.         }
复制代码


查找:
  1. if($uids && ($creditarr || $this->extrasql)) {
复制代码
在其上行增加:
  1.   $this->frequencycheck($uids);
复制代码

相关阅读

编辑推荐

更多>

精选美图

搜索
返回顶部