一部のNginx構成では、次のようにWgetを使用したダウンロードエージェントがブロックされることに気付きました。
if ($http_user_agent ~* LWP::Simple|wget) {
return 403;
}
Wgetをブロックする理由Nginx設定で上記のコードを使用すると、Joomlaサイトから正規ユーザーがダウンロードできるPDFやその他の一般的なファイルのダウンロードもブロックされますか?
ユーザーエージェントwget
ユーザーエージェントwgetをブロックすると、wgetを使用して端末内のファイル(Linux、MacOS、Armなど)をダウンロードするオペレーティングシステムがブロックされます。これにより、wget example.pdf
を使用したすべてのファイルのダウンロードがブロックされます。
しかし、なぜwgetをブロックするのですか?
この質問には正しいことも間違ったこともありませんが、一般的にウェブマスターは、サイト訪問者が実際にページにアクセスしてコンテンツをダウンロードすることを望んでいます。これは多くのホットリンク防止方法の1つです。
何がブロックされますか?
前述のように、ターミナルアプリケーションに関連付けられたユーザーエージェントwgetのみが、.htmlファイルを含むすべてのファイルタイプが禁止されます。ブラウザは、デフォルトでは使用できないwgetユーザーエージェントを使用しない限り影響を受けませんが、知識のあるユーザーのみがこれを達成できますが、ユーザーはそのユーザーエージェントに対してユーザーに利益をもたらさないため、実際には誰のブラウザーでもブロックは発生しません。
wgetが便利な場合
ユーザーがwgetを使用してPDFファイルまたはビデオクリップをダウンロードすることは、ミラーリングする場合や、ファイルサイズが非常に大きく、リモートに保存する場合を除き、あまり役に立ちません。ただし、JoomlaやWordpressなどのコンテンツ管理システムの展開など、それぞれ数百のファイルを持ち、次のものを使用する場合には役立ちます。
wget http://www.example.com/cms.tar
tar xvf cms.tar
上記のアクションを実行することにより、プロトコルの制限により、SFTPまたはFTP方式を使用するよりも数分ではなく数秒以内にコンテンツ管理システムを展開できます。そのため、wgetはオペレーティングシステム、コンテンツ管理システムなどに使用するべきではありませんが、一般的にほとんどのWebサイトでは役に立たないため、ブロックすることは大きな問題にはなりません。