

私は、自前のHPに、イラストの画像を展示しています。プロですので、画像がコピーされるのは、できれば一部制限したいと思っています。
Web画像上で右クリックしても、見る人がコピーできないページをたまに見かけますが、そのようにする方法を知っている方教えていただけないでしょうか。右クリックすると、「Can not copy」なんてポップアップが出てくるのがイイです。
なお、私は、HTMLなど、ほとんど知らないWebページ制作初心者ですので、わかりやすく要点をまとめていただけると助かります。ちなみに、Dreamweaver使ってます。
No.1ベストアンサー
- 回答日時:
HTMLべた書きでよければ・・・・
下記のスクリプトを<head>と</head>タグの間のどこでも良いので置いておくと右クリック時にメッセージを出します。
しかし、ブラウズ出来るって事はダウンロードして表示してるって事なので普通に置いていたらどうにでもしてダウンロードできます。
FLASHなど使えばスライドショウの様に表示できますし、個別の画像のダウンロードもできない(できにくい?)と思います。が、私はFRASH使ったことありません。スンマセン(汗)
<!-- 右クリック禁止 -->
<SCRIPT>
function mdown(e) {
if (navigator.appName == "Microsoft Internet Explorer") {
if (event.button == 2) {
alert("右クリックは使用できません");
return(false);
}
} else if (navigator.appName == "Netscape") {
if (e.which == 3) {
alert("右クリックは使用できません");
return(false);
}
}
}
if (document.all) {
document.onmousedown = mdown;
}
if (document.layers) {
window.onmousedown = mdown;
window.captureEvents(Event.MOUSEDOWN);
}
</SCRIPT>
ありがとうございます。こんなに早くお二人から、回答いただけたので嬉しいです。今までの徒労の時間は何だったんだろうといった感じです。このHTMLならば、私でも、貼り付けるだけで使えそうです。FLASHは、私も使えません。
「しかし、ブラウズ出来るって事は・・」は、分かりますが、理由はkazu-kunさんへの回答に書いた通りです。
No.4
- 回答日時:
キャッシュ制限の仕方ですが、Perlの知識が無いと難しいです。
以下のようなスクリプトで実現します。
#! /usr/local/bin/perl
# ■Perlのパス
# 自分のプロバイダのPerlのパスに変更する。
# ■このCGIから見た画像ファイルの位置に書き換えてください。
$JpegFileName="image/test.jpg";
print "Content-type: image/jpeg\n";
print "Pragma: no-cache\n";
print "Cache-Control: no-cache\n\n";
open(FILE,"$JpegFileName");
print <FILE>;
close(FILE);
なお、私もaricopさんのようなサイトの利用者の立場で考えると、kenkenkentさんと同様、コピー制限されていると印象が悪いです。
善意の利用者は、PC上に残しておいて後で見たいとか、壁紙にしたいとか、個人的な利用しかしないと思います。
生半可なコピー制限は、善意の利用者のコピーは防ぐけども、逆に、悪意ある利用者には何の効果もありません。(先に紹介した参考URLの方法も、あるソフトを使えば簡単に破られます。)
いざ、改竄や無断使用された時のためには、
オリジナルの画像よりサイズや画質を落とすとか、画像上にクレジットを入れるとかのほうが有効だと思います。お札みたいに、見えない所に小さく字を入れるとか(^^;。
知りませんが、画像透かし用のソフトって高いかもしれませんので・・・。
お手数をおかけしました。私は、Perlの知識もないのですが、参考とさせていただきます。ありがとう。
ご意見につきましては、kenkenkentさんのものと同様、コメントすると議論になりかねないので、コメントは辞退し、参考程度に承らさせていただきます。画像透かし用のソフト、Photoshopは高いです。
No.3
- 回答日時:
画像のコピー禁止は、JAVAスクリプトなどでできますが、
私個人的には、あれは嫌いです(^^;
と言うのも、例えば私がaricopさんのHPを訪問したとして、
『あ、aricopさんのイラスト、すごくキレイだな。あとで
ジックリと見たいな』などと思った時に、ダウンロードが
しづらいからです(笑)
実際には、JAVAスクリプトで制限をかけたところで、
画面全体ををキャプチャーしてしまうとか、キャッシュに
残っているデータから拾って来るなど、抜け道はあります。
結局のところ、無断転載しようとするヤツは、どんな手を
使ってでもやりますからねぇ。難しいところです。
あとは、画像自体に『透かし機能』を使ってしまうとか
でしょうか。私はやった事が無いので判らないのですが、
確か、Photoshop5.5あたりから、できませんでしたっけ?
Photoshop6は持っているので、透かし機能は知っています。
これは、回答ではなく、感想・意見の主旨として承ります。よって、議論の場ではないと思いますので、コメントは辞退いたします。
No.2
- 回答日時:
参考URLでいろいろな手段が説明されてます。
しかし、表示できたら、スクリーンキャプチャは出来てしまいます。
どういう理由で、制限しようとされているのかはしりませんが、
その理由によっては制限したって無意味なことです。
参考URL:http://qchan.hornet.co.jp/qcl/shadowprotect/
早速の回答ありがとうございます。Webに画像が表示されれば、スクリーンキャプチャできてしまうのはわかります。でも、多少の効果はあるのではと期待しています。画像を多くの人に見ていただきたいと思う面もあれば、かなりの努力の産物でもあるので安易にコピーされたくない気持ちもあるためです。例えば、駐輪禁止の看板の前で、駐輪する人がどれほどかみたいなものです。
お教えいただいた参考URL、「具体的には、バイナリ排出するようなCGIを作り、ピクチャファイルの中身を排出します。その際、
Pragma:no-cache
Cache-Control:no-cache
を、ヘッダ情報に加えてください。」
とありましたが、実は、私には難しいです。もしお時間があれば、もう少し補足していただけると理解が進むのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【JAVA】画像のサイズを大きく...
-
phpで画像を縮小して表示するこ...
-
PHPでグラフを書く
-
SQLiteに画像を格納したい
-
VBSの「MsgBox」について
-
画像リストを作りたい
-
GD(php)での image関数 イメ...
-
PHP+PostgreSQLを使ってPDFファ...
-
iphoneで虫眼鏡の作り方
-
VBAでJPGサイズ変更
-
PythonのTkinter詳しい方へ。画...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
-
「クラス関数」「メンバ関数」...
-
BASP21のFTPで日本語ファイル名...
-
glob関数で日本語文字が取得で...
-
PHPで、エラーがない場合のみ画...
-
FTPClientで転送結果(OKかFAIL)
-
PHPの設定で、 エラーが発生し...
-
VB6にてメールを送信する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
iphoneで虫眼鏡の作り方
-
Illustratorで文字と画像を流し...
-
pictureboxに表示した画像のフ...
-
透過PNGが透過されない!!
-
GDI+を使ったビット数とDPIの扱い
-
VBAでJPGサイズ変更
-
PHPで吐き出した画像にリンクを...
-
ListViewコントロールでサムネ...
-
拡張子php画像をjpg画像等に変...
-
ビットマップ画像を読み込むプ...
-
C#とJavaで、MP3タグの画像を表...
-
SQLiteに画像を格納したい
-
手作業で埋め込んだ、UserForm1...
-
【PHP】サーバー上で TIFFをJPE...
-
BLOBデーターの画像の表示方法...
-
jar化すると画像が消える
-
「imagejpeg」(GD)で作成した...
-
PythonのTkinter詳しい方へ。画...
-
php,mysqlにて画像パス保存/表...
おすすめ情報