WordPressのカスタマイズ方法やプラグインレビューを中心に、パソコン/動物/植物のことなどを紹介するホームページです

【WordPress】直リンク(画像のURL挿入や直接ダウンロード)を防ぐ方法(カラフルボックスサーバー編)

公開日:2019(令和元)年7月23日/最終更新日:

WordPressのカスタマイズ情報



【景品表示法に基づく表記】ページ内のコンテンツには、商品プロモーションが含まれています

WordPressに限らずホームページやブログで困りものなのが画像などの盗用(パクリ)行為と画像などのリンク挿入。画像が不正にダウンロードされて他のサイトで無断使用されないようにする最善の方法は右クリックの防止よりも画像に透かし(ウォーターマーク)を入れることでしょう。中にはこんな便利なプラグインもありますね。

※右クリックを防止するプラグインはブラウザ上のイベントを停止するものなのでそれを元に戻すような拡張機能があります(知ってました??)。つまり完全に禁止するのは不可能なんです。

それよりも問題なのがリンクで画像などを別のページへ挿入して表示させるようにされてしまうこと。これをホットリンク、直リンクといいます。何が問題なのかというと、その画像がどこかのページで表示される度にリンク元の画像を引っ張り出してきて表示するという動作をするので少なからずサーバーの負担となるのです。多少の負荷ならいいのかも知れませんが、もしもリンク挿入されたページがとんでもないページビュー数のあるページだったら・・・最初は1サイトでもどんどんリンク挿入するサイトやページが増えて行ったら・・・ちょっと恐ろしいことになる場合もあります。

これを防ぐためにはホットリンクの禁止(保護)をするのが最善の方法です。そしてカラフルボックスサーバーにはこの機能が標準装備されていますので、サイトを開設したらなるべく早いうち(画像のリンク挿入をされないうち)に対策をするようにしましょう。

カラフルボックスでの直リンク禁止の方法

【WordPress】直リンク(画像のURL挿入や直接ダウンロード)を防ぐ方法(カラフルボックスサーバー編)|Knowledge Base

カラフルボックスへログインし、cPanelへログインするとメニューの中に「ホットリンク保護」というのがあります。

これをクリックして次の画面で「有効にする」をクリックするだけで簡単に画像の直リンクの禁止ができます。

【カラフルボックス】の標準機能でホットリンクを禁止したときの不具合(不都合)対策

ホットリンク禁止機能を使うと簡単にホットリンク(直リンク)を禁止できるのですが、他のサイトからブログカード(リンクカード)を使ったリンク表示をしたときに画像が表示されないという不都合というか不具合が出ます。

これだとせっかくリンクを張ってもらってもアイキャッチ画像が表示されず、ひょっとするとリンクを外されてしまう可能性があり、ちょっと具合が悪いですよね??

そんなときは以下のようにして代替画像を表示させることができます。手順は以下の通りです。

FTPクライアントを使って該当サイトの.htaccessファイルをダウンロードします。

ファイルを開くと末尾に

RewriteCond %{HTTP_REFERER} !^ドメイン.*$ [NC]

というのがずらっと書かれています。

ちなみにこれらが直リンクを禁止しないドメインになります。ドメインを追加する場合にはこの行を追加してドメインを入力していけばそのドメインからの画像取得ができるようになります

先ほどの基本コードの末尾に

RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ 【画像のURL】 [R,NC]

を追加し、【画像のURL】というところにメディアからサイトの顔となる画像のURLをコピペしてください。

これでどの記事へのカードリンクが張られたときも、サイトの顔となる画像が表示されるようになります。

記事のアイキャッチ画像ではないためイメージとは違うかも知れませんが、画像が全く表示されないよりはいいかなぁという感じです(当サイトはそのようにしています)。

なお、この方法を取った場合にはその他の画像についても代替画像が表示されるので「ホットリンク禁止にならないのでは?」と感じるかも知れませんが、画像をパクろうとしている輩が記事に画像を貼ってプレビューすると全く意図しない画像が挿入されていることには気づくと思いますので、結果的にホットリンクの防止になると思います。

ダウンロードファイルの直リンク(直ダウンロード)を防止する方法

WordPressサイトではzip形式のファイルをメディアにアップロードしてリンクを張るだけで、ダウンロードできるコンテンツが簡単に作れるようになっています。

とても便利なのですが、問題は画像と同様に直ダウンロードリンクを張られてしまうこと。実際に私はこのサイトで配布されているいくつかのファイルでこれをやられました。

直リンクや直ダウンロードリンクを張る人の多くは紹介がてら(中には丁寧にページへのリンクを同時に張っている人もいます)にという形なのですが、ひどい輩になるとあたかも自身で配布しているファイル、自身で所有している画像のように扱っているものもあります。

そうした被害を防止するためにも画像だけでなくダウンロード可能なファイルも保護するようにしましょう。

やり方は画像の場合とほぼ同じですが、代わりにダウンロードするファイルを用意する必要があります。

内容は以下のような感じでいいでしょう(私のサイトの例ですので適宜書き換えてください)

当サイトでは画像やファイルのホットリンクを禁止しております。
このファイルは所有権のないサイトに設置されたダウンロードリンクから入手された可能性がある場合に代替ファイルとしてダウンロードされるものです。
申し訳ありませんが、ファイルの所有権はKnowledge Baseにありますので、こちらをを開き、サイト内検索で該当するファイルやページをお探しになり入手いただけますようお願いいたします。

これをテキスト形式で保存して、zip形式で圧縮し、メディアにアップロードします。

そして先ほどの基本コードの末尾に

RewriteRule .*\.(zip)$ 【ファイルのURL】 [R,NC]

を追加し、【ファイルのURL】というところにメディアから先ほどアップロードした代替ファイルのURLをコピペしてください。

直ダウンロードを禁止することで、リンク挿入したダウンロードリンクがすべて動作しなくなりますので、別途ダウンロードコンテンツ制作用のプラグインを用いる必要がありますからご注意ください。

やはり不都合なことが生じるので最終的な対策として・・

この方法では許可したドメイン以外からの直リンクをすべて拒否する、もしくは別の画像にするという対応になりますから、本当に必要なメディア(例えばカード式のリンクやSNSの埋め込み、ブログランキングのアイキャッチなど)すべてを許可していくことは難しいと思います。

私も実際にブログ村のドメインを許可しても画像が収集されないという事態が発生しました。ログを見ると別のドメインから収集するような流れになっているようで、そちらも許可したのですがうまくいきませんでした。こんな時は・・・ということでブログ村へ直接問い合わせたところ、対応は難しそうでした。

結論として当サイトでは

を使って右クリックやドラッグアンドドロップの拒否をしつつ、画像にウォーターマーク(著作権)を表示することとしました。まあ右クリック禁止などのイベントを無効にする方法(内緒です)を使えば画像のダウンロードも直リンクもできてしまうのですが、知らない方に対する対策になるかなぁとは思っています。