トップ > 書き置き > HTMLのソース隠しとその解読 > ソースを読みにくくする
ここで説明するのは、ソースを表示しても内容を分かりにくくするという方法です。
日本語のページのソースを表示した際、文字化けの起こらないものと文字化けして表示されるものがあります。これは、そのテキストに使われている文字セットにメモ帳が対応しているかどうかの違いによるものです。
メモ帳で表示できるものはShift_JISやUTF-8など、表示できないものはEUC-JPやJISなどの文字セットで書かれています。
逆にこの性質を利用して、HTML文書の文字セットをEUC-JPやJISにして保存すれば、メモ帳でソースを見たときに日本語の部分をコピーできなくさせられます。
これに必要なのは、テキストの文字セットをEUC-JPやJISに指定することのできるエディタだけです(例としてTeraPadを挙げておきます)。
今のところ、大半はブラウザにInternet Explorerのみを使っているため、ソースを表示した際、日本語の部分を見られなくする方法としてはある程度有効かも知れません。
しかしながら例えばFirefox、Netscape、OperaなどのInternet Explorer以外のブラウザでは、ソースを表示する際メモ帳とは別のソフトが起動します。これらのソフトは、EUC-JPやJISでも文字化けしません。EUC-JPやJISを表示できるテキストエディタなんて探せば多数存在するわけで、あまり意味のない方法です。
また、英数字の部分は文字化けしないため、デザインを盗まれたくないからソースを隠そうとする人には有効ではないでしょう。
HTML文書中で文字を表現する方法として、数値文字参照で記述するという方法があります。
数値文字参照は、表示させたい文字をソースにそのまま書くのではなく、10進数や16進数の文字コードで表現するものです。例えば「ソースを隠す」とソースに記述すると、ブラウザで見たときだけ「ソースを隠す」という文になります。
この方法ならば、文字セットをEUC-JPやJISにする方法とは違い、基本的にどのテキストエディタで開いても、元の文字は読めませんし、英数字も読めなくすることができます。
数値文字参照への変換は「数値文字参照変換スクリプト」でできます。
数値文字参照に変換することができるのは、文章の部分と属性値だけです(<a href="ここが属性値です">文章</a>)。
使い方としてはCSSファイル、JSファイル、画像ファイルなどのURLを数値文字参照にするといった使い方も考えられます。フレームのURLやリンク先のURLも同様です。
ただし開いたページからそれが分かってしまえば元も子もないので、基本的に右クリック、ドラッグ&ドロップの無効化、JavaScriptでHTMLを表示するなどの方法との併用になるかと思われます。
この方法の問題点は元に戻すツールを作るか探せば簡単に復元されてしまうということです。数値文字参照の部分だけをコピーして、HTML文書として保存すれば元の文を読むことができますし、数値文字参照を元の文に戻すことができるソフトもあります。
したがってこの方法は右クリック禁止と同様、あくまで簡易にソースを見られるのを防ぐ方法の一つだと言えるでしょう。