Apache 2を実行していますが、access_logを分析したところ、私のWebサイトがmajestic.co.ukボットから1日800回(今日924)以上アクセスされていることがわかりました。ボットは次の範囲のIPアドレスを使用します。
46.4.123.172
220.241.45.142
94.22.46.23
88.198.16.153
178.137.88.101
91.194.84.106
144.76.8.132
46.4.120.3
176.9.10.227
208.107.12.128
46.4.89.35
91.230.202.131
62.210.90.118
62.16.252.183
46.4.32.75
46.4.116.197
198.27.66.194
199.58.86.206
46.165.197.142
195.154.187.115
144.76.7.107
91.121.221.15
51.254.97.22
195.154.156.209
98.218.34.60
195.154.157.47
198.27.82.146
178.202.133.84
91.179.245.81
IPが変化し続けることがわかった範囲から、最初のIPアドレスの例で次のようなルールを設定することを最初に考えました(私が間違っていれば正しい):
route add -net 46.4.123.0/24 gw 127.0.0.1 lo
この方法では、46.4.123.1から46.4.123.255をブロックしますが、毎回IPを変更するため、私は機能しないので、それぞれを追跡してブロックする必要があります。
私の質問は、要求をnullルートではなく、blocked.xxx.comのようなドメインにトラフィックをリダイレクトする方法があります。ここで、「IPがブロックされているのに、ウェブサイトにアクセスできない場合は、これはエラーだと思います。私に連絡してください。」.
Majestic プロジェクトは分散Webクローラーであり、このようにさまざまなソースIPアドレスが大量に取得される理由を説明しています。これは悪意のあるものではありません。つまり、サイトを攻撃せず、大量のリソースを使用することもありません(1日に800のリクエストは多くありません)。
ほとんどの適切なボットと同様に、Majesticではユーザーエージェント文字列にURLが含まれています。このURLにアクセスすると、「MJ12botをブロックするにはどうすればよいですか?」などのトピックが見つかります。このトピックでは、このボットを適切な方法でブロックする方法を説明します。そのアドバイスに従うことをお勧めします。このボットは特別なものではなく、 同じルール に従っていることに注意してください。他のほとんどの無害なクローラーは、google、yahoo、bingなどのボットのようです。
それとは別に、リクエストのソースIPに基づいてブロックするという考えは、この場合は役に立たないだけでなく、無害なユーザーをWebサイトから除外するため、実際には有害です。この分散クローラーに対するこれらの要求は、ホームユーザーなどのボランティアのコンピューターから行われます。これは、IPアドレスの一部を逆引きする場合に発生する可能性があります。 91.179.245.81も解決81.245-179-91.adsl-dyn.isp.belgacom.be.
。したがって、このIPアドレスで/ 24ネットワーク全体をブロックする場合は、このISPから多くのユーザーを除外します。
あなたの質問を正しく理解した場合、特定のIPアドレスを別のドメインにリダイレクトしますか?その場合は、これを.htaccessファイルで使用できます。
RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_Host} 46\.4\.123\.1
RewriteCond %{REQUEST_URI} /index\.html$
RewriteRule .* /blocked.html [R=301,L]
rewriteCondとRewriteRuleを変更するか、IPtablesで次のように変更します。
"# sysctl net.ipv4.ip_forward=1"
then
"# iptables -t nat -A PREROUTING -s 46.4.123.0/24 -p tcp --dport 80 -j DNAT --to-destination 1.1.1.1:80"
最初のIPをリダイレクトしたいIPに変更し、1.1.1.1をリダイレクトしたい場所に変更します。
ボットのIPアドレスをブロックするポイントはありません Majesticは分散検索インデックス作成プロジェクトであり、誰でも自分のコンピューターにボットをセットアップすることを選択できます。 Majestic IPアドレスをブロックすることにより、Webサイトへの通常のユーザーアクセスを効果的にブロックできます。
Majesticボットをブロックする方法
Robots.txtファイルを使用して、ボットがWebサイトにアクセスできないようにします。これははるかに推奨される方法であり、すでに回答されています ここ 。
Majesticボットをリダイレクトする方法
Apache mod_rewrite を使用して、User-Agent HTTPリクエストヘッダーを検索してボットを別の場所にリダイレクトします。 Webサイトのルートディレクトリに次の内容の.htaccessファイルを作成します。 mod_rewriteが仮想ホストで有効になっている であることを確認してください。
RewriteEngine On RewriteBase/ RewriteCond%{HTTP_USER_AGENT} ^ MJ12bot RewriteRule ^(。*)$ http://blocked.xxx.com [R = 301、L]
注:上記のエントリはテストしていません。
上記のどちらの方法でも、ボットがWebサイトを完全に無視するようにプログラムされていない限り、ボットがApacheログのエントリに時々アクセスすることがあります。