2011-11-13 4 views
9

私はwgetのを阻止するために、このコードを使用currentylyとCURLをブロックして自分のサイトでデータを取得する方法はありますか?

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/ 
SetEnvIfNoCase User-Agent "^Wget" bad_user 
SetEnvIfNoCase User-Agent "^libwww-perl" bad_user 
Deny from env=bad_user 

のlibwwwカールのための1つはありますか?

+0

これは、ユーザがユーザエージェントの文字列を嘆いて上書きするまでブロックするだけです。 LWPではないWget(そしてそう、LWPでないlibwww)はどちらも「悪い」で、どちらのツールもミラーリングモードではrobots.txtを尊重しています。 – Quentin

+0

@Quentinどうすればそれらをブロックできますか? – eric

答えて

19

はい、私はcurlは、デフォルトのUser-Agentを持っていると確信していますが、それは明らかに-H 'User-Agent=Poop'

実際に、私はスイッチがユーザーエージェントを設定するために特別にあると思うように簡単に変更することができるものです。 -A

3

curlユーザーエージェントはいつでも変更できます。なぜなら、カールが存在する理由は、あなたがあなたのクエリ上のすべてを変えることができるからです。

ブロックすることはできますが、使用エージェントを変更すると再びアクセスできます。

代わりにIPアドレスをブロックするか、サブネット全体をブロックすることをお勧めします。

例:

deny from aa.bb.cc.dd ff.gg.hh.0/24 
1

あなたが希望する言語、HTTPのバージョン、リモートドメインと、そのようなものを確認することができます。

0

あなたがしばらくそれを停止しても、攻撃者はこの恵まれた場所にここに来て、あなたの防衛を壊す方法にダースの答えを得ます。

だから私はそれが嫌いですが、ブロックする方法はありません。
最終的にいくつかのIPを禁止することができます。いくつかのハニーポストをボットにスポットすることができますが、すべてが破損します。
だから、データは気にしないで、サービスを気にする方がよいでしょう。
あなたのサービスが最高である限り、あなたのサイトが最初になります。そして、他の人々の労働を餌にしたいと思っている人には、掻き払いは役に立たないでしょう。

+0

おかげで心に留めて – Derek

0

1つのIPアドレスから2つのリクエストが多い場合は、キャプチャを追加しますか?

+0

ああ、Googleからの例を挙げてください。その理由を説明するために投票したときのコメント。 – mobius

+0

+1私はcaptchaのアイデアが好きですが、私の質問はカールについてです。どのようにCURLリクエストにキャプチャを置くことができますか? – eric

+0

@eric、あなたのウェブサイトを悪用したり、あなたのウェブサイトからコンテンツを盗んだりすることをクライアントが(カールを含む)停止するので、これはおそらくより良い解決策だと思います。残念ながらUser-Agentをベースにすることはできません。これはUser-Agentを変更するのが簡単だからです。あまりにも多くの検索結果を取得しようとすると、GoogleはCAPTCHAと同じ手法を使用します。だからカールしても、captchaがこのIPのために起動されると、カールはcaptchaイメージを含むhtmlのみをダウンロードします – mobius

関連する問題