簡単に画像を「右クリック&ドラッグ&直接リンク」させない方法・対策

WordPress(ワードプレス)で作成している管理サイトで、/wp-content/uploads/ 以下の階層に保存されているフォルダの写真が、直接表示されていることがわかりました。

写真・画像に関しては、知識がある人であれば簡単に保存できるので、ある程度は致し方ないかな。とは思っていたのですが、アート写真等のフォトギャラリーとしてアップしている画像に関しては、やっぱり極力不正利用はされないようにしたいですよね。

ってことで、ほんの少し対策しておけば一般のユーザーの方からの不正利用やダウンロード等はかなり防げるかと思いますので、今回は『簡単に画像を「右クリック&ドラッグ&直接リンク」させない方法・対策』です。

簡単に画像を「右クリック&ドラッグ&直接リンク」させない方法

プラグインを入れたら簡単やん!という方もおられるかと思いますが、プラグインを複数入れることで管理が大変にもなりますし、競合することも多々あり、トラブルの原因となることもありますよね。ですのでプラグインを使わなくてすむのであれば、極力使わない方がいいと思っています。

ということで、ここでもプラグインを使わず進めていきます。

1 右クリック保存対策

まずはJavaScriptを使って右クリックできないようにする方法です。

<script type="text/javascript">
document.addEventListener('contextmenu', function (e) {
  if (e.target.tagName === 'IMG') {
    e.preventDefault();
  }
});
</script>

これをWordPressで読み込んでいるjsファイルなり、footer.phpファイルの閉じる直前に記述するなりすれば、右クリックで画像を保存はできなくなります。

ちなみにこの記述は、ページ読み込み後に実行されるようにするなど、なるべく最後の方に記述することをオススメします。

2 ドラッグ保存対策

上記の設定で画像は右クリックできないようになったので、問題解決かな?と思っていたのですが、
実は簡単にドラッグしてパソコン内にドラッグできちゃったんですよね。

といわけで、以下のcssを追記します。

img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

これで画像をドラッグして保存できなくもなります。

ちなみに元からドラッグできないものもあったのですが、それはcssの設定やJavaScriptの処理によるもののようですね。

あと注意として、以下の記述を入れて、クリックできないようにしたのですが、これだとaタグのリンクで画像を使えないので、正直使えないかな?ということで却下しました。

img {
  pointer-events: none;
}

ただ個別に設定等すれば、使いようによっては使えるかもですね。

3 直接リンク対策

上記設定をしても、一応リンクを直接打てば、画像は普通に表示されます。

ですので、念の為画像の不正利用等の対策のために、/wp-config/uploads/ 以下にある画像ファイルは、他の外部サイトからの直接リンクできないようにします。

まずは、 /wp-content/uploads/ディレクトリに.htaccessファイルを作成し、以下の記述をコピペします。

<FilesMatch "\.(jpg|jpeg|png|gif|avif|webp)$">
  SetEnvIf Referer "^http(s)?://(www\.)?3stars\.life" local_referrer
  Order Allow,Deny
  Allow from env=local_referrer
  # セキュリティ強化のためのヘッダーを追加
  Header set X-Content-Type-Options "nosniff"
</FilesMatch>

これでOKです!と言っていたのですが、SNSでサムネが表示されていないことが確認されましたので、以下追記します。

追記:2024/8/4
SNSでシェアされるはずのサムネイルが表示されなくなったので、それを避けるため、この対策(記述)は最終的にオフにしました。

冷静にに考えたら、外部サイトからの直接リンクをできないようにしたので、そらそうなりますよね。

というわけで、これはSNSとかでシェアされない、できなくても問題ない時に記述してくださいね。

併用して対策を

WordPressで制作したサイトで、画像を表示しつつ、右クリック等での保存を防ぐ方法は他にもいくつかありますが、完全に思い通りに画像のダウンロードを防ぐことは現状ではできません。どんなに対策をしても、この記事を見てるようなWebデザイナーやプログラマーの方等、知識をもった方であれば簡単に画像なんて保存できてしまいますよね。知識がない方であっても、スクリーンショットすることもできますしね。

また、3 直接リンク対策に追記したように、SNSでサムネイルが表示されないなどの弊害もでてきます。

ですので、このような対策をよく考えて併用しておくことで、画像をダウンロード保存するのに一手間も二手間もかかり、簡単に画像を保存できない、という状況を作ることができ、一定の効果は見込めますので、ぜひ不正利用の防止に役立ててください!

Google AdS



関連記事

「.DS_Store」「_notes」を削除&定期的に削除する方法!01

「.DS_Store」「_notes」を削除&定期的に削除する方法!


「.DS_Store」「_notes」まじで邪魔!と思われた方、結構おられますよね?おそらく。Macの人なら特に…

記事を読む▷


『WinSCP』をMacで使えるようにする方法!!


FTPソフトの中では、やはり『WinSCP』が一番使いやすいです。でも、Macでは普通には使えません。。FileZill…

記事を読む▷


お名前.comで “Whois情報公開代行” の設定にチェックを入れ忘れて登録した時の対処方法


先日、こちら で少し書いたのですが、お名前.comでドメインを取った時に、 "Whois情報公開代行" の設定にチェック…

記事を読む▷


[http] から [https] へ。常時SSL化対応:ワードプレス、エックスサーバー環境にて


今更ですが、、、SSL化対応することにしました。 Googleが『SSL化されたWebサイトはランキング評…

記事を読む▷


お名前.com から脱出する!:ドメインの移管方法


『お名前.com』でドメイン取得してからは、『Whois情報公開代行』の件(詳細はこちら)で大変な思いをしたのですが、そ…

記事を読む▷


Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Google AdS

  • 人気の記事

    デザイン・撮影サービス

    3STARS DESIGN(スリースターズ デザイン) ホームページ・Webデザイン 3STARS STUDIO(スリースターズ スタジオ) 撮影・スタジオレンタル

新着記事

  • デザイン・撮影サービス

    3STARS DESIGN(スリースターズ デザイン) ホームページ・Webデザイン