1

私のサイトから帯域幅を吸い続けている2つの悪いボットをブロックするのに問題があり、それらが使用するユーザーエージェント名の*と関係があると確信しています。

現在、次のコードを使用して不正なボットをブロックしています(これは抜粋です)...

# block bad bots
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^spider$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^robot$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^crawl$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^discovery$
RewriteRule .* - [F,L]

やろうとしRewriteCond %{HTTP_USER_AGENT} ^*bot$ [OR]たりRewriteCond %{HTTP_USER_AGENT} ^(*bot)$ [OR]、エラーが発生したりしたとき。

これを行うには、Googleでまだ見つけていない非常に簡単な方法があると思います。

4

3 に答える 3

1

正規表現パターンのアスタリスク (*) は、正規表現の一部として解釈されるため、エスケープする必要があります。
RewriteCond %{HTTP_USER_AGENT} ^\*bot$
トリックを行う必要があります。

于 2012-10-30T10:56:33.253 に答える
0

ドットが欠落していると思います.。条件を次のように変更してください。

RewriteCond %{HTTP_USER_AGENT} ^.*bot$ [OR]
于 2012-10-30T11:05:01.020 に答える
0

しかし、これはどのようにして悪意のあるボットのアクセスを防ぐのでしょうか?

I work for a security company (also PM at Botopedia.org) and I can tell that 99.9% of bad bots will not use any of these expressions in their user-agent string.

Most of the time Bad Bots will use legitimate looking user-agents (impersonating browsers and VIP bots like Googlebot) and you simply cannot filter them via user-agent data alone.

For effective bot detection you should look into other signs like:

1) Suspicious signatures (i.e. Order of Header parameter)

or/and

2) Suspicious behavior (i.e. early robots.txt access or request rates/patterns)

Then you should use different challenges (i.e. JS or Cookie or even CAPTCHA) to verify your suspicions.

The problem you've described is often referred to as a "Parasitic Drag".

これは非常に現実的で深刻な問題であり、私たちは実際にそれに関する調査をほんの数か月前に発表しました.

(平均的なサイズのサイトでは、訪問者の 51% がボットであり、31% が悪意のあるサイトであることがわかりました)

正直なところ、数行の RegEx でこの問題を解決できるとは思えません。

私たちはボットフィルタリングサービスを無料で提供しており、私たちのようなサービスは他にもいくつかあります。(必要に応じて、優れたサービスを推奨できます)

GL。

于 2012-10-30T14:06:30.010 に答える