由于对我的网站进行了一些业余制造的 DDOS 攻击,我不得不使用 .htaccess 拒绝一些流量,这很好。
不幸的是,它也阻止了 googlebot/bingbot:
order allow, deny
deny from 54.
SetEnvIfNoCase Referer "^$" bad_user
SetEnvIfNoCase User-Agent "^Wget" bad_user
Deny from env=bad_user
它只是阻止了整个流量54.x.x.x
(我从中获得的唯一流量来自受感染的亚马逊云 - 我知道我可以排除亚马逊云的 30 个 IP 范围,而不是全部54.x.x.x
,但我需要快速解决方案)。
其余的机器人(大部分来自中国大陆、台湾等地)不使用引荐来源网址,所以:
SetEnvIfNoCase Referer "^$" bad_user
阻止他们。
但它也有副作用:
- 当有人从书签访问我的页面或当他直接在浏览器中键入它时(例如,他在名片上有红色的),他将看不到我的网站。
- Googlebot、bingbot(以及其他不太重要的机器人)通常也不使用引荐来源网址。
#1
很不方便,但这#2
是一个我必须迅速解决的真正问题。
我发现对我很重要的机器人使用这些标签:
66.249.64.119 - - [...] "GET /robots.txt HTTP/1.1" 403 534 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.64.119 - - [...] "GET /programowanie/ HTTP/1.1" 403 537 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.64.115 - - [...] "GET /3d-graphic/ HTTP/1.1" 403 535 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
207.46.13.4 - - [...] "GET /robots.txt HTTP/1.1" 403 534 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
207.46.13.4 - - [...] "GET / HTTP/1.1" 403 524 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
是否有可能.htaccess
以某种方式将我的规则与“但如果标签包含“Googlebot”或“bingbot”,让他走”作为最重要的规则(即使他们不使用推荐人)?
如果没有,也许我可以添加一些内容来robots.txt
通知 Google/Bing 他们应该在标签中添加推荐人(我怀疑他们会考虑到这一点)?
我找到了一些解决方案
#2
:请注意
order deny, allow
- 多亏了它,它将以这种方式工作:54.x.x.x
。也阻止所有没有引荐来源的流量。http://www.bing.com/bingbot.htm
或的请求的流量http://www.google.com/bot.html
。无论如何,我会等待其他答案,因为我不确定它是否是
#2
.我仍然没有设法解决
#1
。因此,如果您想:
您可以将我的代码用于
.htaccess
没有deny from 54.
和SetEnvIfNoCase User-Agent "^Wget" bad_user
行,这是针对我的案例(ddos)的。