右クリック禁止!ホームページの画像もテキストもコピーできなくするための対応方法いろいろ。


ホームページを作るときに画像やテキストをコピーできないようにして欲しいと依頼されることがたまにあります。
結論としてはコピーが全くできなくするということは無理で、右クリックを禁止したってブラウザのメニューから簡単にソースコードを見れます。
デベロッパーツールを使えば画像のアドレスだって簡単にわかるので、残念ながら防ぐ方法はないです。
結論としてはできないということなので、こうやってブログで書くようなテーマではないのですが、検索してる人が実は多いテーマなので少しでも参考になるならといくつか方法を書いておきます。
ただ、この記事の最後にも書いていますが、もし防げたとしてもユーザーの印象には良い影響は与えません。
時代の流れとして、WEBで公開しているのにそれを守ろうとする行為は不自然に感じます。
あくまで、万が一必要な場合に、できる範囲でということで対応できる方法です。

とにかく右クリックを禁止

一番よく知られているのが右クリックの禁止です。
ホームページの閲覧時に表示された画面上で右クリックをするとソースコードを見れたりもしくはコピーとかのメニューが現れます。
これらを使ってソースコード中のテキストを見たりとかコピーをしてテキストコピーしたりとかってことができます。

img

これを防ぐには次のコードを使って右クリックそのものを禁止してしまいます。
bodyタグに以下のように簡単なスクリプトを埋め込むだけです。

<body oncontextmenu="return false;">

ただし、この右クリックが禁止はその他の有用な機能を奪ってしまいます。
右クリックを禁止するということは、右くkリック時に出てくるメニュー全てが使えなくなるということです。
印刷だとか、お気に入りへの登録だとか、いろいろと便利な機能が根こそぎ使えなくなります。
めっちゃ不便なホームページだという印象を与えてしまいます。

はじめにも書きましたが、ここでソースコードを見ることができなくてもブラウザのメニューを使えばソースコード入れてしまいます。

img

またデベロッパーツールを使えばもっと詳しく中身を見ることができます。

img

右クリック禁止は使い勝手が悪くなるだけで、あまり意味がありませんよね。
この記事の初めにも書いたように、ネット上に公開している時点で防ぐ手立てはありません。

まさにとろうとしている人に「こらーっ」って警告する

右クリックの禁止はあまり効果なさそうですね、
では実際にコピーという行為をしようとしたときに何かアクションを起こしてみましょう。
例えば、右クリックで「コピー」を選んだ時に警告メッセージを出すようなパターンです。
bodyタグに以下のように簡単なスクリプトを埋め込むだけです。

<body onContextmenu="window.alert('右クリックは禁止です');return false">

このalert(”);に囲まれた部分に好きなテキストを入れると、コピーしようとしたときに画面上にポップアップで警告を表示することができます。
これは実際のコピーを防ぐことにはなりませんが、コピーしたものを使いにくくする抑制効果は生まれるかもしれませんね。

コピーしてもクリップボードに残さない方法

次に、実際のコピーの処理自体をさせないようにする方法です。
右クリックからコピーを選んだときにクリップボードにコピーされないようにします。
これもこれまでと同じようにボディーのために以下のスクリプトを埋め込むだけで簡単に実現できます。

<body oncopy="return false;">

簡単ですね。

画像の場合はドラッグできない、右クリックでも取れなくする

次は、画像に対するコピーの防止方法です。
画像はマウスを使って画像トラックしたりとか、右クリックで画像を保存したりとかそういった方法で簡単にとることができます。
これらの2つの方法では取れなくするような簡単な方法があります。
一般的に画像は<IMG>タグを使って表示させますが、<IMG>タグを使わずに背景画像としてしまえばマウスでとられることはありません。
これについては以前記事を書いてますのでこちらを参照してください。
右クリック禁止よりも優秀!HTMLとCSSだけで簡単にできる画像を取れなくするコピーガード。

そもそも悪意を持って取るほどのデータというのはあまりないですし、それを取ろうとする人はもっと少ないと思います。
さらにそういった人がいたとして、それを上記の手段で防いだとしても、はじめに書いたように簡単に他の手段で取ることができます。
もっと問題なのは、右クリックを禁止することでコピー以外の機能も使えなくなって使いやすさが損なわれ、必ずしも悪意を持っていないユーザーに対しても警告を出してしまったり。
多くの人は経験があると思いますが、ちょっとした不便さでいら立ちを覚えることってありませんか。
そういうことを考えると、ホームページとしての使い勝手が大きく損われることで、ホームページそのものの価値が下がってしまいます。
ホームページでの悪い印象が、会社としてのブランドイメージを下げることにつながるということも考えられます。
いちいちうるさいホームページを見て、自分ならどう思うか考えてみてください。

なかなかネガティブな記事で申し訳ないですが、これをすべてやったってはっきりいって何の効果もありません。
むしろ面倒くさいホームページという印象を持たれるだけで、結果的には悪影響の方が大きいです。
すごく矛盾した記事ですが、コピーをさせないようにするための手段はこれだけあります、ですが本当にそれって必要?ということを考えてほしいなと思っています。