6

私のウェブサイト全体をダウンロードしようとしている IP (中国から) が 1 つあります。すべてのページをダウンロードし、サーバーにかなりの負荷をかけます (500 000 以上のページがあります)。アクセス ログを見ると、Google ボットや他の検索エンジン ボットではないことがわかります。

一時的に (iptables ルールを使用して) 禁止しましたが、実際のユーザーの一部も同じ IP を持っているため、それらも禁止されており、Web サイトにアクセスできないため、解決策ではありません。

このような「ユーザー アクティビティ」を防ぐ方法はありますか? たぶん、1 秒間に 5 件以上のリクエストをリクエストしようとすると、キャプチャを実装するメカニズムですか?

PS 私は Yii フレームワーク (PHP) を使用しています。

どんな提案でも大歓迎です。

ありがとう!

4

2 に答える 2

5

あなたはあなた自身の質問に答えました!

リクエストcaptchaが毎秒または毎分一定数を超えると出現!

このように、 CCaptchaActionを使用して実装する必要があります。

于 2010-08-30T06:10:00.300 に答える
0

疑わしいユーザーアクティビティを監視する最良の方法は、実際にはユーザーセッションCWebUserです。現在のリクエスト時間をユーザーセッションに保存し、それを以前のいくつかの値と比較し、ユーザーがリクエストを頻繁に行う場合はキャプチャを表示します。getState()setState()

新しいコンポーネントを作成し、を介してプリロードし、コンポーネント機能CWebApplication::$preloadでユーザーアクティビティを確認します。init()このようにして、ボットチェックのオンとオフを簡単に切り替えることができます。

于 2010-08-31T19:28:13.253 に答える