WordPress で画像のホットリンクを防止する方法
公開: 2018-12-12「WordPress で画像リンクを保持するか、削除する必要がありますか?」 これは、長い間議論できる問題です。
マネージドWordPressホスティングを選択した後でも、デフォルト設定を維持している可能性があります. しかし想像してみてください。画像をアップロードして記事やページに挿入すると、画像自体にリンクが自動的に追加されます。
また、訪問者が記事内のその画像をクリックすると、元のサイズで画像のみを表示する別の Web サイトまたはページに移動します。 一般に、画像は記事にシームレスに収まるようにスケーリングされます。 この現象は、ホットリンクまたはインラインリンクと呼ばれます。
画像ホットリンクとは何ですか?
「帯域幅の盗難」とも呼ばれるホットリンクは、他のサーバーでホストされているコンテンツ (画像、ビデオ) への直接リンクを作成して、計算リソースと帯域幅リソースを使用する個人によって実行される不適切な行為です。
古典的な例は、サーバーBによって提供される Web ページに挿入される、サーバーA上のマルチメディア コンテンツへの直接リンクで構成されます。 サーバーBの Web ページにアクセスする訪問者のブラウザーは、マルチメディア リソースを取得するためにサーバーAに HTTP 要求を行い、CPU と帯域幅を浪費し、最終的にはお金を浪費します。
ホットリンクはどのように機能しますか?
最初に HTML コードに戻って、画像が Web ページにどのように表示されるかを理解する必要があります。
詳細は省きますが、HTML はマークアップによって構造化された単純な言語です。タグ (この場合は HTML タグ) は、ページの各要素を階層的に区切り、値をフレーミングし、コンテンツに属性 (ページの幅または高さ) をもたらします。画像、またはその説明を可能にする代替テキストなど)。
画像の古典的な表示は、Web サイトにあるページのコード内の画像用のimgタグと説明用のaltタグを使用して実現されます。 たとえば、次のシナリオを考えてみてください。
サーバー Web サイトの HTML コード:
<img src="/image.jpg" alt="説明" />
したがって、ホットリンクを実行する Web サイトは、画像タグの属性src (ソースを意味する) で画像の直接アドレスを使用して、単純に続行します。
これは、たとえば、自分の Web サイトから画像を表示するときに通常行うことです。
サーバー B の Web サイトの HTML コード:
<img src="http://www.yourdomain.com/image.jpg" alt="説明" />
最終的には、自分のものではない Web サイトに自分の画像の 1 つが無断で投稿されることになり、ケーキのアイシングになります。このいたずらの加害者は、帯域幅を圧迫しています!
ホットリンクを検出する方法は?
これは明らかではありません!
TinEye などのツールは引き続き使用できます。 これはウェブサイト兼ブラウザ拡張機能であり、指定したものに似た画像を探すことができます. これは、TinEye がインデックスを作成する Web サイトの制限内で非常にうまく機能し、すべての画像を手動でチェックする必要があります。
もう 1 つの解決策は、自分以外の Web サイトから読み込まれた画像の検出を自動化することです。 技術的にはより複雑ですが、非常にうまく機能します。
原則として、Apache サーバーの.htaccessファイルは、画像が表示される前にインターセプトする役割を果たします。
.htaccess を使用して WordPress でホットリンクを防止する方法
ドキュメント ルート フォルダーの.htaccessファイルに数行を挿入して、WordPress でのホットリンクを防止する方法を見てみましょう。
ホスティング プラットフォームにログインし、任意の FTP ソフトウェア (私は Filezilla を使用しています) でログイン資格情報を使用し、 /public_html/ →に移動して、 .htaccessファイルにアクセスします。
非常にトラフィックの多いフォーラムにいくつかの画像が表示された場合、この種の動作が及ぼす影響を想像してみてください。
まず、Web サイトのルート ディレクトリにある .htaccess ファイルを表示/編集(または作成) する必要があります。
ファイルが開いたら、最後に次の行を貼り付けて、ファイルを保存します。
RewriteEngine on RewriteCond "%{HTTP_REFERER}" "!^$" RewriteCond "%{HTTP_REFERER}" "!www.yourdomain.com" [NC] RewriteRule "\.(jpg|jpeg|png|gif|svg)$" "-" [F,NC]
注: yourdomain.comを Web サイトの名前と拡張子に置き換えることを忘れないでください。
- 最初の行はmod_rewriteを有効にするのに役立ちます。
- 2 行目では、空白のリファラーを許可します。 一部の訪問者は、Web ブラウザから送信されたページ リファラー情報を削除するパーソナル ファイアウォールまたはウイルス対策プログラムを使用する可能性があるため、これを有効にする必要があります。
- 一方、3 行目は、 HTTP_REFERERが明示的にyourdomain.comに設定されていない場合に、コンテンツのダウンロードとホットリンクを防止する行です。 この場合、 yourdomain.comを保護したいドメイン名に置き換える必要があります。
- 4 行目は、ホットリンクによって禁止される禁止された拡張機能を指定します。
この場合、「 | 」で区切られた任意の数の拡張子を指定できます。 " キャラクター。 また、この場合、比較では大文字と小文字が区別されず、肯定的な一致の場合、リクエストは null ファイルに書き換えられ、403 エラーが発生します。
サーバーAとBが最初に行った例に従って、ブラウザーからは、サーバーBによって読み込まれた Web ページには、 Aによって読み込まれたコンテンツがないように見えます。 この方法でのサーバーA の帯域幅と CPU の使用は無視でき、書き換えエンジンによる要求の処理のみに制限されます。
プラグインを使用してホットリンクを回避する
ご存じのとおり、プラグインは Web サイトの機能を拡張し、Web サイトでのホットリンクを防ぐことができます。 この分野で最も人気のある 2 つのプラグインを次に示します。
1. iThemes のセキュリティ
iThemes Security は、一般的な脆弱性を修正し、自動化された攻撃を阻止し、資格情報を保護します。 このプラグインには、マルウェア スキャン システムに加えて、コンテンツの変更や接続と切断を行うユーザーを追跡する機能があります。 他の多くの機能は、Web サイトを保護するのに役立ちます。
まとめ!
.htaccessまたはプラグインを介してホットリンクをブロックしたかどうかを確認するには、altlab.com で Web サイトをテストします。ここで、画像アドレスを入力する必要があります。 表示されていない場合、または選択した画像が表示されている場合は、アンチホットリンクがアクティブになります。
WordPress の画像からリンクを削除する他の方法をご存知ですか? もしそうなら、以下のコメントであなたのやり方を共有してください。
*これは Cloudways の Saud Razzak によるゲスト投稿です。
*この投稿にはアフィリエイト リンクが含まれている場合があります。つまり、私のリンクから購入することを選択した場合、私は少額の手数料を受け取る場合があります (追加費用は発生しません)。 これにより、WPMyWeb を稼働させ、最新の状態に保つことができます。 私たちのリンクを使用していただきありがとうございます。本当に感謝しています。 もっと詳しく知る。