2

私は非常に強力な保護クラス「BlockIp」を自分で作成しました。これは、IP でブラックリストを使用でき、奇妙な IP 構成を検出し、プロキシをブロックできます。訪問者が見つかると、訪問者と、ブロックされた理由と彼らが何をしようとしているかについての詳細なメールを受け取ります (もちろん 1 日 1 回)。このクラスによってブロックされた実際の攻撃を過去にいくつか受けたため、非常にうまく機能しているようです。合法的なボットをブロックするわけではありませんが、検出方法が正しいことをテストするのは簡単ではありません。

今日、クラスから「ycar10.mobile.bf1.yahoo.com」をブロックしたというメールを受け取りました。これは、自分自身を yahoo ロボットとして識別しますが、プロキシの背後にありました。ブラックリストに載っているかどうかネットを検索しましたが、ブラックリストに載っていることがわかりませんでした。問題は、プロキシの背後でボットをブロックするのは正しいことですか (とにかく合法的なボット プロキシを使用しますか?)? ボットに関する情報は次のとおりです。

HTTP_ACCEPT = */*
HTTP_X_FORWARDED_FOR = 107.38.3.137,  98.137.88.60
HTTP_USER_AGENT = YahooCacheSystem
PATH = /sbin:/bin:/usr/sbin:/usr/bin
SERVER_SIGNATURE = 
SERVER_SOFTWARE = Apache/2.2.14
SERVER_PORT = 80
REMOTE_ADDR = 98.139.241.249
REMOTE_PORT = 53863
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.1
REQUEST_METHOD = GET
QUERY_STRING = 
REQUEST_URI = /
SCRIPT_NAME = /index.php
PHP_SELF = /index.php
REQUEST_TIME = 1330923844   

それ以外の場合は、正当なボットの正しい動作をテストできるテスト ケース (スイート/シミュレーター) はありますか (Google、Yahoo、Bing などの主要なもののみを許可)、正しい検出方法を使用したことを確認します。 . いくつかのシミュレーターがありますが、それらのほとんどは適切に機能しておらず、次の質問は「信頼できるか...」です。

*注意: 上記の詳細でわかるように、53863 の REMOTE_PORT 値を使用しています。53863 とはどのような種類のポートですか?*

私の質問を理解していただければ幸いです。そうでない場合は、ここに記入してください。

4

1 に答える 1

0

ポート番号 53863 は有効なポートであり、予約されていません。サーバーに接続するコンピューターは、その特定の接続に任意のポートを選択できます (ただし、1024 を超えるポート番号が表示される可能性があります)。

自分自身を GoogleBot として識別できる web-sniffer.net などのサイトを使用できます。欠点は、動作ではなく、ユーザー エージェントを偽装するだけであることです (最初に robots.txt をチェックしているとは思えません)。

個人的なアドバイスとして、一度に多くの IP をブロックしてオンラインのブラックリストを確認しようとしないでください。多数の IP をブロックし始めると、信頼できるボットをブロックしていることに気付く可能性があり、それらがどれであったかを知る方法がありません。

于 2012-03-17T08:02:58.707 に答える