サイトを積極的にこすり続けている特定の個人に問題があります。帯域幅とCPUリソースを浪費しています。私はすでにWebサーバーのアクセスログを調整し、新しいIPをデータベースに追加し、そのIPからのリクエスト数を追跡し、同じIPが特定のリクエストのしきい値を超えた場合にシステムを実装しました。一定期間は、iptablesによってブロックされます。複雑に聞こえるかもしれませんが、私が知る限り、特定のIPを特定の帯域幅/要求の量に制限するように設計された既成のソリューションはありません。
これはほとんどのクローラーで正常に機能しますが、非常に永続的な個人は、ブロックされるたびにISPプールから新しいIPを取得しています。ISPを完全にブロックしたいのですが、どうすればいいのかわかりません。
いくつかのサンプルIPでwhoisを実行すると、すべてが同じ「netname」、「mnt-by」、および「origin / AS」を共有していることがわかります。同じmnt-by / AS / netnameを使用して、ARIN / RIPEデータベースにすべてのサブネットを照会する方法はありますか?そうでない場合、他にどのようにすればこのISPに属するすべてのIPを取得できますか?
ありがとう。