BIGLOBEのおすすめ光ファイバー「BIGLOBE光 with フレッツ」
今なら入会した方全員に無線LANルータを無料で提供中。
例えば、このホームページでは、Shift_JISという文字コードで作成しています。通常、WindowsやMacで意識することなくメモ帳やSimpleTextでHTMLを作成していけばShift_JISで作成していることになります。
そして、圧倒的なシェアを誇るWindows版IEでソースを表示させると通常はメモ帳(notepad.exe)が起動します。しかし、メモ帳はShift_JISのテキストだけは正しく表示できますが、EUCやJISコードで作成されたページは右のように文字化けします。文字化けが起こっている部分が意味不明な半角カタカナのように見えます。EUCやJISコードで作成すると、メモ帳では文字化けが起こり、判読が難しくなります。
待望のHTML暗号化ソフト誕生!! |
株式会社プランセスの全面協力の元、HTML暗号化ソフト「SHTML」を2005年7月11日にリリースしました。
Javascriptの知識が全くない方でも利用可能なように設計されています。最短ステップの場合、暗号化したいソースを貼り付けて、「暗号化する」ボタンをクリックするだけです!!
右クリック禁止+ソースの暗号化+印刷禁止+テキスト選択禁止・・・が今までにないほど簡単に!!
|
しかし、よく見るとHTMLタグ自体はアルファベットなため、全然文字化けしていません。これでは、大体この辺りのことを記述しているところだなと分かってしまいます。さらに、NetscapeやFirefoxであれば、EUCで書かれたソースコードも文字化けせずに表示されます。Macであれば、NetscapeだけでなくIEでも文字化けを起こさずにブラウザ上で表示できます。
また、決定的なことにWindows版IEでも、ソースを表示させる時に起動するプログラムは変更可能なのです。「窓の手」などのソフトを使えば、レジストリーの知識がなくても簡単にメモ帳以外のテキストエディタでShift_JIS以外の文字コードも扱えるもの(例えば、「秀丸」など)をIEのソースを表示させることが可能です。
つまり、このShift_JIS以外の文字コードで作成するという方法では、ほとんど効力を発揮しません。もちろん、Windows版IEのシェアは半端ではありませんし、私のサイトの統計では90%近いシェアがありますから、無意味なことでもないでしょう。しかし、ソースを見られたくないということは、ソースを真似できるような上級者を意識してのことでしょうから、この程度の小手先の手段では、目的を達成することはできないでしょう。
では、どうするのか? 日本語の部分はもちろんのこと、HTMLタグのアルファベットの部分も訳の分からない文字になっていながら、ブラウザ側では正しく表示してくれるという、都合のいい方法は? 実はあるんです。JavaScriptのesacpe関数・unescape関数を用いたエンコード・デコード作業によって。
2005年8月1日追記
文字コードを変えるだけでは、ほとんど無意味ですが、面白い方法を考え付きました。UTF-8という文字コードでは、Shift_JISに存在しない漢字(中国語)やハングル文字(韓国語)も用いることができます。一見すると文字化けしているように見えるソースを見せることで解読をあきらめさせることが可能かもしれません。
● 一見するとソースが文字化けしているように見えるサンプル
なお、ブラウザのソースビューアの指定によってはハングル文字は「・・・」のように表示されます。例えば、秀丸であれば、ハングル文字が表示可能なフォントを「.html」と関連付けていないければならないはずです。
また、これらの糸偏の漢字のオンパレードやハングル文字はダミーではありません。これらの文字をある規則にしたがって日本語に変換しているだけですので、この文字列を一部削除したり編集すると表示内容も変わってしまいます。
2005年9月6日追記
上の例では、UTF-8でしか作成できないものでしたが、Shift_JISのHTMLファイルでもソースの擬似文字化けの再現が可能です。例えば、0x00〜0x1Fと0x7Fの制御コードを出現させるだけでも、JPGファイルやexeファイルなどのバイナリーファイルを開いたかのような、黒い背景色の中にAとかBとかなどの白抜き文字が現れるソースなどです。
● 一見するとソースが文字化けしているように見えるサンプルII(制御コード編)
ただし、このソースの場合、いくつか問題が起こります。特定のブラウザで文字化けして表示されたり、全くコンテンツが表示されません。ユーザーシェアから考えて、約3%から4%ほどの方はJavascriptを有効にしていても、コンテンツを見ることができません。また、MacIEでは表示こそされますが、MacIEのJavascriptの演算処理が激遅のため、表示までに10秒程度かかるようです。
Windows | Mac |
IE6 | Firefox | Netscape7.1 | Netscape4.7 | Opera | Safari | IE5.2.3 | Firefox | Netscape7.1 | Netscape4.7 | Opera |
○ | ○ | ○ | × | × | ○ | ○ | ○ | ○ | × | × |
また、制御コードを含むため、FTPでASCIIモード(テキスト)でアップロードしても動きません。バイナリーモードでアップロードしなければなりません。
|
|