点击上方获取邀请码注册baituge.com,100TB套图视频等你下载!
您需要 登录 才可以下载或查看,没有帐号?这里注册
x
我的站点现在是这个情况了,如果['security']['attackevasive'] 不设置为4开启那个“ 页面重载开启”的功能,就整天被攻击,站点CPU跑到100%,但如果开启了,百度、google等搜索引擎的收录就变少了,甚至输入我的站点都找不到了。
有没有两全其美的办法啊,比如开启 页面重载开启 功能还能不让百度减少收录的啊
小修改,使得论坛 开启防攻击【二次请求】后,不影响百度收录
我测试了 只要开启了二次请求 那么百度就不会更新你的站了 时间长了甚至被百度除名
被逼无奈,想了个办法,就是二次请求验证的时候 过滤掉百度蜘蛛的ip,这样就不影响百度了
修改source/include/misc/misc_security.php 文件 第46行
原始代码是:
if($attackevasive & 4) {
if(empty($lastrequest) || TIMESTAMP - $lastrequest > 300) {
securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
}
}
复制代码
修改成:
if($attackevasive & 4) {
if(empty($lastrequest) || TIMESTAMP - $lastrequest > 600) {
$soip = $_G['clientip']; //zx 二次重载 过滤掉百度ip
if ( strstr($soip,'61.135') |
strstr($soip,'202.108') |
strstr($soip,'220.181') |
strstr($soip,'180.149') |
strstr($soip,'123.125') |
strstr($soip,'159.226') |
strstr($soip,'180.76')
) {}
else{
securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
}
}
}
复制代码
if($attackevasive & 4) {
if(empty($lastrequest) || TIMESTAMP - $lastrequest > 600) {
$soip = $_G['clientip'];
if ( strstr($soip,'61.135') |
strstr($soip,'202.108') |
strstr($soip,'220.181') |
strstr($soip,'180.149') |
strstr($soip,'123.125') |
strstr($soip,'159.226') |
strstr($soip,'180.76') |
strstr($soip,'216.239')|
strstr($soip,'61.135') |
strstr($soip,'64.233') |
strstr($soip,'66.102') |
strstr($soip,'66.249') |
strstr($soip,'202.106') |
strstr($soip,'220.108') |
strstr($soip,'220.181') |
strstr($soip,'202.160') |
strstr($soip,'182.118') |
strstr($soip,'180.153') |
strstr($soip,'61.55') |
strstr($soip,'110.75') |
strstr($soip,'121.33') |
strstr($soip,'123.126') |
strstr($soip,'124.115') |
strstr($soip,'211.100')
) {}
else{
securitymessage('attackevasive_4_subject', 'attackevasive_4_message');
}
}
}
修改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');
}
}
复制代码
|