2016-07-16 10 views
0

イメージをパブリックディレクトリにアップロードしています。ユーザーがwgetを使用してロット全体をダウンロードしないようにしたいと考えています。これを行う方法はありますか?wgetを拒否する方法は?

私が見る限り、存在しなければなりません。私は、公開ブラウザとして1つのイメージをダウンロードできるサイトをいくつか見つけましたが、それらに対してwgetを実行するとすぐに403(禁止されています)が表示されます。私はno-robot引数を使ってみましたが、まだダウンロードできません。 (セキュリティ上の理由から、私はここにサイトの名前を付けません)。

+0

nginxを使用している場合は、誤っていない場合でもフォルダへのアクセスを制限できます。 Apacheで、これは役立つかもしれません:https://httpd.apache.org/docs/trunk/mod/mod_ratelimit.html - 別のオプションは、書き換えルールを書いて、直接アクセスとPHPセッションやIPアドレスを使ってアクセスを制御するのをブロックすることです。これはロングショットになる可能性があります。 – Nitin

答えて

2

ユーザエージェント文字列を使用してアクセスを制限することができます。たとえば、apache 2.4 mod_authz_coreを参照してください。 Wgetはデフォルトでrobots.txtディレクティブも尊重します。これは、任意のカジュアルなユーザーを悔い改めるべきです

しかし、wgetマニュアルを注意深く見て、これらの制限を回避します。 Wgetはリクエスト間にランダムな遅延を追加することもできるため、アクセスパターン解析に基づく高度な技術でも回避できます。

適切な方法は、wgetリンク/参照認識エンジンを使いこなすことです。つまり、ミラーリングしないコンテンツは、javascriptを使用して動的にロードする必要があります。また、jsコードのデコードに必要な方法でURLをエンコードする必要があります。これによりコンテンツは保護されますが、google botなどのサイトのインデックスを作成するウェブボットの不鮮明なバージョンを手動で提供する必要があります(また、気にする必要はありません)。また、一部の人々は、デフォルトでjsスクリプトを実行しません(難解なブラウザ、ローエンドのマシン、モバイルデバイスはそのようなポリシーを要求するかもしれません)。

関連する問題