HTMLソースを見せないようにするには?

とほほのWWW入門 > アラカルト > HTMLソースを見せないようにするには?
2000年9月3日版

■ HTMLソースを見せたくない

「HTMLソースや、JavaScriptのソースを閲覧者に見せたくない」という要望がよくあります。これに対する答はひとつ、「公開しない」しかありません。つまり、ブラウザでも見えない状態にしておけば、ソースを見られる心配はありません。

ブラウザで見える状態にするということは、何らかの方法でHTMLやJavaScriptのソースを閲覧者側のブラウザが解釈できるということですから、ブラウザの代わりにダウンロードツールなどのちょっとしたツールを使えば、ソースは見られてしまうことになります。

ただ、ソースを見るのを難しくする、見るまでの手順を面倒にする、あまり詳しくない人に見る方法を分かり難くするなどの方法はいくつかあります。

■ HTMLソースを見え難くする - フレームを使う

ページをフレームに分割し、ひとつ目のフレームをサイズ0、ふたつ目のフレームを100%の大きさにします。[表示]-[ソース]などで表示しても、<FRAMESET>などのフレーム文書のソースが見えるだけになります。しかし、フレームをマウスで右クリック(Windowsの場合)して[ソースの表示]とかやると簡単に見えてしまうので、あまり強固とは言えません。

右クリックを禁止するには?を追記しました。(2000.1.9)

■ HTMLソースを見え難くする - 改行を取り去る

HTML文書が完成したら、簡単なツールを使って、改行コードをすべて取り去ってしまいます。例えば、perlが使える環境であれば、
    while (<>) { s/[\r\n]+$//; print; }
という簡単なプログラム(xx.pl)を作成して、コマンドラインから
    perl xx.pl xx.html > new.html
とすれば、改行を取り去ることができます。[表示]-[ソース]でソースを見られても、すべての内容が1行に連なってしまうので、読めないというよりも、読む気力を起こさせなくします。

■ JavaScriptを見え難くする - JavaScript外部ファイルを使う

本文中に<SCRIPT>〜</SCRIPT>で直接記述してしまうと、[表示]-[ソース]ですぐに見えてしまいますが、<SCRIPT>タグのSRC属性で外部ファイルに記述しておくと、少しは見られ難くなります。HTML本文には
    <SCRIPT SRC="xxx.js"></SCRIPT>
と記述しておき、xxx.jsファイルの中でJavaScriptを記述(<SCRIPT>タグと、<!--、// -->の記述は不要)しておけば、[表示]-[ソース]で見られることはありません。しかし、[ファイル]-[開く]などからxxx.jsファイルへのURLを直接指定された場合は、xxx.jsをダウンロードできたりしまうので、完全ではありません。

■ HTMLソースを見え難くする - JavaScript外部ファイルを使う

上記の応用で、すべてのHTML記述を、JavaScriptのdocument.write()で書いてしまえば、[表示]-[ソース]でHTMLソースを見られることもなくなります。ずいぶん面倒な方法ではありますが・・・

■ HTMLソースを見え難くする - JavaScriptデコーダを用いる

上記の応用で、HTML記述をBASE64などのアルゴリズムを用いてエンコードし、これをJavaScriptでデコードしながら表示するというアイデアを教えていただきました。具体的なソースコードは暇ができたら・・・(2000.9.3追記)

■ 相手の良心に訴える

HTMLソースやJavaScriptソースの先頭に、著作権の明示や、「苦労して開発したものなので、流用する場合はメールで許可を得てね」という但し書きを書いておく方も居られるようです。世の中悪人ばかりじゃないですから、これでも少しは「無断流用」を防げるかもしれませんね。

■ その他の方法

その他の方法を知ってる方が居られましたら、情報、お待ちしてます。現在のところ、以下のような提案をいただいています。

Copyright (C) 1996-2000 とほほ
http://wakusei.cplaza.ne.jp/twn/wwwxx029.htm