阻止用户代理是一个数字 - htaccess

时间:2014-10-20 19:08:59

标签: .htaccess block user-agent bots

我从坏机器人那里收到了很多访问我的网站。

模式是:

190.204.58.162 - - [20/Oct/2014:16:46:54 +0200] "GET / HTTP/1.0" 200 318 mysite.com "-" "881087" "-"

201.243.204.1 - - [20/Oct/2014:16:46:54 +0200] "GET / HTTP/1.0" 200 318 mysite.com "-" "442762" "-"

200.109.59.218 - - [20/Oct/2014:16:46:54 +0200] "GET / HTTP/1.0" 200 318 mysite.com "-" "717724" "-"

113.140.25.4 - - [20/Oct/2014:16:46:54 +0200] "GET / HTTP/1.1" 200 318 mysite.com "-" "360319" "-"

183.136.221.6 - - [20/Oct/2014:16:46:54 +0200] "GET / HTTP/1.1" 200 318 mysite.com "-" "989851" "-"

195.154.78.122 - - [20/Oct/2014:16:46:54 +0200] "GET / HTTP/1.0" 200 318 mysite.com "-" "122984" "-"

59.151.103.52 - - [20/Oct/2014:16:46:54 +0200] "GET / HTTP/1.1" 200 318 mysite.com "-" "375843" "-"

不同的IP和不同的用户代理。

但是,用户代理始终是数字,通常长度为6个字符。

例如,在第一行,用户代理是" 881087"而不是像" Chrome"," Opera"," Safari"等

有没有人知道如何通过.htaccess阻止它?

1 个答案:

答案 0 :(得分:0)

当然可以阻止这取决于什么平台php或.net。

我个人会在用户代理上使用isnumeric。如果是数字,你可以使用从jsp die()返回;在php或response.end for .net。

就htaccess而言,您可以在用户代理上尝试使用正则表达式。

如果你想要上述任何一个的确切脚本,请告诉我。