ネット人口が増え続ける今、ネットマナーを持ち合わせていない初心者による、イラストサイトの画像などの無断転載の被害も増えています。
このスクリプトは、右クリック、ドラッグ&ドロップでの画像ファイル保存と、HTMLのソースから安易に画像ファイルのURLが知られることを防ぐためのものです。
実際にこのスクリプトを利用したサンプルページを用意しました。
まず、保存されたくない画像のあるHTML文書を次のテキストエリアに貼り付け、変換をクリックしてください。すると、すべてのIMG要素がSCRIPT要素に変換され、ぱっと見ただけでは何が書いてあるのか分からなくなります。
一部の画像だけ、転載防止の機能を付けたい場合は、そのIMG要素だけを貼り付けて変換をクリックし、出てきたSCRIPT要素をHTMLのソースの画像を表示したい部分に貼り付けてください。
次に、変換した後のHTMLの<head>〜</head>に、次のSCRIPT要素を貼り付けてください。もちろん、JSファイルにしても構いません。
<script type="text/javascript">
<!--
function printImage(str){
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789*+-./@_$%";
var len = chars.length;
var xorchr = str.charAt(0);
var xorcode = xorchr.charCodeAt(0);
str = str.substring(1, str.length);
var _ = eval("*!-;#+ :`9<':+".replace(/./g, function (chr){
return String.fromCharCode(chr.charCodeAt(0) ^ "N".charCodeAt(0));
}));
str = str.replace(/./g, function (chr, n){
var code = chars.charCodeAt(n % len);
chr = chars.charAt((chars.indexOf(chr) - (code ^ xorcode) + len * 4) % len);
return chr;
});
str = str.replace(/$[\da-f]{4}/gi, function (enc){
return String.fromCharCode(parseInt("0x" + enc.substr(1, 4)));
}).replace(/%[\da-f]{2}/gi, function (enc){
return String.fromCharCode(parseInt("0x" + enc.substr(1, 2)));
});
str = _("<img " + str + " oncontextmenu=\"return false\" ondragstart=\"return false\" onselectstart=\"return false\">") ? str : "";
return str;
}
//-->
</script>
このツールのJSファイルはjswh20.jsです。。