1

私の Zope サイトは最近、80legs.com が運営する攻撃的なクローラー サービスによって「攻撃」され、2 日間にわたって繰り返し機能停止に追い込まれました。

このクローラーを (ユーザー エージェント文字列に対してテストして) ブロックしたいのですが、この Zope インスタンスは apache の背後にないため、.htaccess ファイルがありません。Zope には、URL をサブフォルダーに書き換えるための独自の「仮想ホスト モンスター」がありますが、「マッピング」タブ内で RewriteCond および RewriteRule ステートメントを処理できるかどうかについての参照が見つかりません。

これを達成できるかどうかを知っている人はいますか?もしそうなら、構文はどうなるでしょうか?

これが apache .htaccess ファイルである場合、次のように記述します。

RewriteCond %{HTTP_USER_AGENT} ^80legs 
RewriteRule ^.* - [F,L]
4

1 に答える 1

2

VHM の目的は、フロントエンドのリバース プロキシから Zope に、生成された URL が使用しなければならないドメイン名と初期パスを通信することだけです。一般的な書き換えには対応していません。もちろん、HTTP ヘッダーに基づく条件はサポートされていません。

HTTP ヘッダーに基づいて URL を変更するには、Zope 要求イベント ハンドラーを作成する必要があります。サーバー用の新しい Python パッケージを作成する準備ができていない限り、これは簡単ではありません。

もっと簡単な方法は、nginx をインストールして、代わりに書き換えを処理し、Zope をプロキシして、HTTP クライアントの不適切な動作から保護することです。

于 2013-09-18T21:02:51.193 に答える