専用ソフトで暗号化する
ただ、XORHTMLで暗号化したソースは単純に暗号化したものを復号し、それをdocument.writeしているだけであるために、ネットスケープ4.7ではdocument.writeされた「結果」のみが表示され、document.writeという文字さえ見えなくなっているため、ソースがご丁寧に復号化された状態で表示されてしまいます。また、Netscape4.7.8なる古いブラウザをわざわざ持ち出さなくても、ちょっとした工夫でdocument.writeした結果は見えてしまいます。その方法は残念ながら、説明しませんが・・・。
(以下の「HTML Guardian」に関する記事は、2002年当時の記事です。最新版のダウンロードは、ある理由があり、行っていません。理由は後述します。そのため、最新版にはそぐわない内容があるかもしれません。)
ただ、この海外製HTML GuardianではShift_JISのホームページの暗号化はできましたが、EUCのページは文字化けしました。また確かにWindows版のブラウザでは右クリックはできないようになっていましたが、Macでは、コントロールキーによるコンテクストメニューの表示が可能でした。また、上記の「同製品を利用してShift_JIS版のソースを暗号化したもの」を見ていただければ分かりますように、日本語の部分は順番はぐちゃぐちゃなように見えますが、日本語のまま表示されていますので何らかのアルゴリズムでシャッフルしていることをすぐに悟られてしまいます。そこで、同製品のアルゴリズムとほぼ一緒のアルゴリズムで、日本語の部分をunicodeにしてしまい、さらに外部ファイル化し、ついでにMac版IE4.5以外ではMacのブラウザでもコンテクストメニューが利用できないように当方で改良させたものがこちら(2005年7月12日追記:2002年当時なので、今のホームページとは異なります。また、Googleツールバーをインストールされている場合、ポップアップブロック機能でブロックされて別ウインドウが開かない場合があります。その場合は、Ctrlキーを押しながら開くようにしてください。)(PrtScr機能を無効にさせるために、クリップボードの中身を一定間隔で空っぽにするスクリプト<Windows版IEでも動作>が含まれています。クリップボードに重要なデータがある場合は、予めクリップボードの中身を他の場所に移動させてください。)です。 これらの暗号化ソフトを使えば、かなりの精度でソースを隠すことはできるのですが、例えば、SEO(Search Engine Optimization。サーチエンジンにおける検索において自身のホームページを検索されやすいように最適化させる技術もしくは、そのための様々な努力など)の観点から言えば最悪と言えるかもしれません。ソースは見られたくないけどホームページは見て欲しいという、都合の良い期待にはこの手法では応えることができません。 (以上が、2002年当時のHTML Guardianに関する記事です。なぜ、最新版をダウンロードして試さないかと言えば、当サイトのWebmasterである私自身が2005年7月、自分自身でHTML暗号化ソフト「SHTML」を開発したためです。「真似した」などのそしりを一切受けないために、最新版のダウンロードは一切行っていません。ただし、最新版で作成されたであろうデモページは見ました。私が試した限りでは、HTML Guadianのページは、Mac版IEでは表示されませんでした。これが日本語のブラウザでアクセスしているから起こるのか、何なのかは分かりません。)
海外製ソフトの場合、心配なのはサポートです。しかし、ついに国産のソフトが開発されました。手前味噌で恐縮ですが、当サイトのWebmasterである私が2年以上の構想を経て、やっとの思いで2005年7月完成させたものです。「SHTML」と名づけました。「Secure HTML (安全なHTML)」の略称です。「SHTML」とは、皆さん方のHTMLページのソースを安全にするために暗号化するソフトです。当サイトのトップページを暗号化したページはこちら
SHTMLでは、Windows98かXP、Macの場合、OS9からJaguar、Panther、最新のTigerでチェックしています。IEだけでなく、Firefox、Netscape、Mozilla、Operaでチェックしています。Macの場合は、それに加えて、Safariでもチェックしていて、互換性があることを確認しています。HTML GuardianのようにMac IEでは表示されないなどの問題は発生しません。また、サポートする日本語もShift_JISだけでなく、EUC-JP、JIS(ISO-2022-JP)、UTF-8と豊富です。日本語は日本語のまま残す方法と、英数字だけに変換しまう方法と、両方をサポートしています。※ もちろん、「SHTML」の場合、分からない時に質問なども日本語で可能です。右クリック禁止などの機能選択も全て日本語です。 もし、想定しているユーザーがWindows版IEだけであり、かつ暗号化したい部分がJavaScriptやVBScriptなどの部分だけであるならば、Microsoftが提供する「Windows Script Encoder」を利用するのも手かもしれません。指定したscript部分以外では、エンコードされませんので、サーチエンジンなどにも拾ってもらうことが可能です(Windows版IE限定でありながら、オープンなサーチエンジンからのアクセスを期待することは矛盾があるような気がしますが・・・)。Windows Script Encoderを利用して、前章の「別ウインドウ表示で、ブラウザのメニュー・ツールバーを全て消す」をエンコードしてみましたのがこちら(Firefox、ネットスケープ・MacではエンコードされたJavaScriptが動きません。Javascriptの関数であるwindowopenが定義されていないと怒られるはずです。)です。
しかし、これまた手前味噌になりますが、HTML暗号化ソフト「SHTML」ではJavascirptやVBScript、JSファイルの暗号化を行うことが可能ですが、こちらは、Netscapeであれ、Macであれ、Firefoxであれ動きます。SHTMLでJavascriptの部分だけを暗号化したサンプルをご参照ください。FirefoxやMacでも動きます。また、元のページには無かった右クリック禁止機能も追加されています。
【広告】眉毛とまつ毛の育毛剤 【広告】出張サポートサービスが無料なプロバイダ 【広告】食料品・生活用品 Windows Script Encoderの仕組みは、Micorsoftが自ら開発したWindows版IEの隠しコマンドを使っているのか、ソースを私が眺めても、ぜんぜん元のソースは想像できません。デコードできません。しかし、Windows Script Encoderはやはり閲覧するユーザーの環境を制限してしまう点と、MS-DOSにおいてコマンドをたたかないとエンコードできない点が難点です。GUIに慣れた一般ユーザーには手が届きませんので、手前味噌ですが、SHTMLが最高の解決策であると確信しています。
次のページでは、flash(+ Action Script)を利用したHTMLソースの隠し方を紹介してみましょう。
連絡先:info@broadband-xp.com (免責事項)このホームページの内容に起因する如何なるトラブルに対しても責任を持ちえません。必ず自己責任でご利用ください。 【広告】 PDF保存対策なら「PDF No Save」 |