开启CC防护的方法:
config_global.php文件中有如下代码:
- $_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行)
- if($attackevasive & 4) {
- if(empty($lastrequest) || TIMESTAMP - $lastrequest > 300) {
- securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
- }
- }
复制代码
修改为:
- if($attackevasive & 4) {
- if(empty($lastrequest) || TIMESTAMP - $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');
- }
- }
复制代码
x3 版本的解决办发。3.1 和3.2 没用过不清楚,请自己对照修改:
打开文件:source\class\discuz\discuz_application.php
- require_once libfile('misc/security', 'include');
复制代码
修改为:
- if(!IS_ROBOT){
- require_once libfile('misc/security', 'include');
- }
复制代码
|