使用Discuz!自带参数防御CC攻击以及原理,修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法
这部份的工作,以前花的时间太少。
希望能产生一定的作用。
http://www.nigesb.com/discuz-cc-attacker-defence.html
http://bbs.zb7.com/thread-8644-1-1.html
CC攻击确实是很蛋疼的一种攻击方式,Discuz!的配置文件中已经有了一个自带的减缓CC攻击的参数,在配置文件config.inc.php中:
1 |
$attackevasive = 0; // 论坛防御级别,可防止大量的非正常请求造成的拒绝服务攻击 // 防护大量正常请求造成的拒绝服务攻击, |
这个参数可以设置的值有:
1 |
0表示关闭此功能 |
2 |
1表示cookie刷新限制 |
3 |
2表示限制代理访问 |
4 |
4表示二次请求 |
5 |
8表示回答问题(第一次访问时需要回答问题) |
正常情况下设置为 0,在遭到攻击时,分析其攻击手法和规律,组合使用。 可以尝试先设置为 2, 2|4, 1|2|4|, 1|2|4|8, 如果 1|2|4|8 还不行,应用程序层面上已经抵挡不住,可能主机遭受的攻击来自于僵尸网络的 DDOS 攻击了,建议从防火墙策略上入手。
在source/class/class_core.php文件中可以找到如下代码
1 |
if($this->config['security']['attackevasive'] && (!defined('CURSCRIPT') || !in_array($this->var['mod'], array('seccode', 'secqaa', 'swfupload')))) { |
2 |
require_once libfile('misc/security', 'include'); |
3 |
} |
$this->config[‘security’][‘attackevasive’]为config_global.php文件里设置的$_config[‘security’][‘attackevasive’]的值。
~~~~~~~~~~~~~~~~
开启防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) || 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');
- }
- }
复制代码
修改完成后覆盖,更新缓存即可。修改前切记做好文件备份
使用Discuz!自带参数防御CC攻击以及原理,修改Discuz X 开启防CC攻击后,不影响搜索引擎收录的方法的更多相关文章
- 使用Discuz!自带参数防御CC攻击以及原理
CC攻击确实是很蛋疼的一种攻击方式,Discuz!的配置文件中已经有了一个自带的减缓CC攻击的参数,在配置文件config.inc.php中: $attackevasive = 0; // 论坛防御 ...
- 修改Discuz!X系列开启防CC攻击,不影响搜索引擎收录
最近网站一直被攻击,特别是新上线的交流社区,所以今天写了一个开启CC攻击防护代码,而且不影响搜索引擎收录. 在config_global.php文件中有如下代码: $_config['security ...
- ADO.NET 完整修改、删除、防字符串攻击
首先,我先把昨天所做的人事管理系统进行了优化,将其完善成为了一个更符合实际的系统.将修改及删除数据的数据库操作前面添加了一个查询语句,这样,在实际操作时,如果数据库中没有该条数据,则程序不会执行接下来 ...
- Oracle游标--cursor_01-简单不带参数实现功能
对于游标这个概念,可以理解为类似我们以前学习的jdbc的结果集对象, 我们可以使用游标对结果集从上到下进行遍历,获取每一行内容 首先我们要分析一下游标的分类 带参数的 书写函数的整体架构 定义游标 开 ...
- C#的泛型的类型参数可以有带参数的构造函数的约束方式吗?
Review后看到标题让我十分羞愧自己语文功底太差,估计...请见谅......我还特地把这句写回开头了...... 问题 前天遇到的一个问题,所以在MSDN发了个问,刚也丰富了下问题,关于泛型的. ...
- Linux系统防CC攻击自动拉黑IP增强版Shell脚本 《Linux系统防CC攻击自动拉黑IP增强版Shell脚本》来自张戈博客
前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个 ...
- 浅谈拒绝服务攻击的原理与防御(4):新型DDOS攻击 – Websocket和临时透镜
0×01 前言 前几天我已经分别发了三篇关于DDOS攻击相关的文章,我也是第一次在freebuf上发表这种文章,没想到有那么多人点击我真的很开心,前几天我为大家介绍的DDOS攻击的方法和原理都是已经出 ...
- 防cc攻击利器之Httpgrard
一.httpgrard介绍 HttpGuard是基于openresty,以lua脚本语言开发的防cc攻击软件.而openresty是集成了高性能web服务器Nginx,以及一系列的Nginx模块,这其 ...
- c#线程带参数
c#线程带参数 ThreadStart threadStart = delegate { LoadPicture(ds.Tables[0]); }; Thread thread = new Threa ...
随机推荐
- keil Ax51中条件编译指令IF与$IF的区别
keil A51中条件编译指令IF与$IF的区别:1.IF和$IF是不等价的,不要混淆了;2.带前缀$的条件编译$IF用法:(汇编器指示命令Assembler Directive)只能用来测试由$SE ...
- Borland license information was found,but it is not valid for delphi.
The start Delphi7 come amiss: Borland license information was found,but it is not valid for delphi. ...
- Qt编程之在QGraphics scene中使用图片
http://stackoverflow.com/questions/5960074/qimage-in-a-qgraphics-scene http://stackoverflow.com/ques ...
- VC的话有必要认真听,但却不用急着照办
本文来自著名风险投资人 Fred Wilson 的博客 AVC,他在 2016 年 8 月 23 日的这篇文章<Understanding VCs>里用简单的语言揭秘了 VC(风险投资人) ...
- java解析网页的内容
有时候,我们需要在java程序中获取一个连接,然后解析连接后,获取连接返回的内容结果来解析.准确的说是解析一个链接. 以下代码时解析百度首页的链接,获取的html代码的效果: public stati ...
- linux下core文件设置(转)
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数. 1.core文件的生成开 ...
- wifidog auth-server安装配置
- <转载>C++的链接错误LNK2005
转载http://bbs.csdn.net/topics/70346371 编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误.弄清楚它形成的原因,就可 ...
- poj 2041 Unreliable Message 字符串处理
水的问题.直接附着到代码. //poj 2041 //sep9 #include <iostream> using namespace std; char mode[128]; char ...
- 注册AxtiveX控件
Win8.1或者Win7下 首先在“管理员的身份”运行cmd 然后输入:regsvr32 D:\***\*.ocx