Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[修改] discuz X1、X1.5、X2、X2.5 x3,开启CC防护,不影响百度等蜘蛛访问 修改

[复制链接]
折中扇 发表于 2014-10-16 17:12:27 | 显示全部楼层 |阅读模式
开启CC防护的方法:
config_global.php文件中有如下代码:

  1. $_config['security']['attackevasive'] = 0;
复制代码


0表示关闭此功能
1表示cookie刷新限制
2表示限制代理访问
4表示二次请求
8表示回答问题(第一次访问时需要回答问题)

同时也可以设置为组合的方式,如1|2表示同时启用cookie刷新限制和限制代理访问。

防止蜘蛛无法抓取
模拟蜘蛛检测 http://s.tool.chinaz.com/tools/pagecode.aspx

Discuz!X1、X1.5、X2、X2.5 的解决方法:

在source/include/misc/misc_security.php文件中可以找到如下代码(默认第46~50行)
  1. if($attackevasive & 4) {
  2.         if(empty($lastrequest) || TIMESTAMP - $lastrequest > 300) {
  3.                 securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
  4.         }
  5. }
复制代码


修改为:

  1. if($attackevasive & 4) {
  2.         if(empty($lastrequest) || TIMESTAMP - $lastrequest > 300) {
  3.         $kw_spiders        = 'Bot|Crawl|Spider';
  4.                         // keywords regular expression of search engine spiders
  5.         if(preg_match("/($kw_spiders)/i", $_SERVER['HTTP_USER_AGENT'])) {
  6.                         // match search engine spiders
  7.         }else{
  8.                 securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
  9.         }
  10. }
复制代码



x3 版本的解决办发。3.1 和3.2  没用过不清楚,请自己对照修改:

打开文件:source\class\discuz\discuz_application.php

  1. require_once libfile('misc/security', 'include');
复制代码


修改为:

  1. if(!IS_ROBOT){
  2.      require_once libfile('misc/security', 'include');
  3. }
复制代码



本站正在使用,,防cc效果明显,副作用未知



如果有用 就收藏吧,,discuz越来越不行,免费风向教程的人越来越少。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 09:58 , Processed in 0.024450 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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