鲸云网络 发表于 2020-2-13 20:13:51

修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法

开启防CC攻击后,会影响搜索引擎蜘蛛的抓取,下面修改后不影响搜索引擎蜘蛛的抓取方法来某网友提供,修改前切记备份好文件。

Discuz X 开启防CC攻击方法,在config_global.php文件中有如下代码:

$_config['security']['attackevasive']      = 0;可以设置的值有:
0表示关闭此功能
1表示cookie刷新限制
2表示限制代理访问
4表示二次请求
8表示回答问题(第一次访问时需要回答问题)

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

不影响搜索引擎蜘蛛的抓取的修改方法,需要修改下面文件:

在source/include/misc/misc_security.php文件中可以找到如下代码(默认第46~50行)


if($attackevasive & 4) {
      if(empty($lastrequest) || TIMES**P - $lastrequest > 300) {
                securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
      }
}

修改为:


if($attackevasive & 4) {
      if(empty($lastrequest) || TIMES**P - $lastrequest > 300) {
      $kw_spiders      = 'Bot|Crawl|Spider';
                        // keywords regular expression of search engine spiders
      if(preg_match("/($kw_spiders)/i", $_SERVER['HTTP_USER_AGENT'])) {
                        // match search engine spiders
      }else{
                securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
      }
}

修改完成后覆盖,更新缓存即可。修改前切记做好文件备份
页: [1]
查看完整版本: 修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法