如何阻止除特定机器人和有效浏览器用户代理之外的所有网站流量?

时间:2015-10-31 17:08:55

标签: .htaccess bots hostname

很抱歉,如果之前有人问过这个问题,但我现在已经研究了好几个小时,没有真正明确的答案。

我正在开发一个过去存在严重安全漏洞的网站。这些已被修复(我不断检查以确保没有其他人),但该网站正在受到机器人的打击。我已经在PHP中使用第三方实施了一些检查以禁止已知的垃圾邮件IP地址,我已经阻止了引用者,例如.htaccess中的semalt,这已经大量帮助,但这还不够。

因为问题非常严重,我需要花费很长时间(每天工作时间)来手动阻止IP,主机名等,所以我想采取更积极的方法。我没有阻止具体的细节,而是通过htaccess让我想要的东西:   - 谷歌,MSN,雅虎等好机器人   - 任何拥有主机名的人。

我意识到这仍然会让一些坏机器人通过,但大多数流量来自没有主机名的机器人,所以这将是一个良好的开端。

我有两个问题:

1)有没有更好的方法来解决这个问题?

2)如果没有,我该如何实现?

这是我到目前为止(我有一个更大的浏览器列表),但它似乎不起作用:

#allow just search engines we like, we're OPT-IN only

#a catch-all for Google
BrowserMatchNoCase Google good_pass
BrowserMatchNoCase Slurp good_pass
BrowserMatchNoCase ^Yahoo good_pass
BrowserMatchNoCase ^msnbot good_pass
BrowserMatchNoCase SandCrawler good_pass
BrowserMatchNoCase Teoma good_pass
BrowserMatchNoCase Jeeves good_pass

#allow Firefox, MSIE, Opera etc., will punt Lynx, cell phones and PDAs, don't care
BrowserMatchNoCase Chrome good_pass
BrowserMatchNoCase Mozilla good_pass

#Let just the good guys in, punt everyone else to the curb
#which includes blank user agents as well
Order Deny, Allow
Deny from all
Allow from env=good_pass

0 个答案:

没有答案