(結論)完全無欠な解決策はあるのか?
2GBメモリー搭載A4ノートPCが59,850円から
今までいろいろとソースを見られにくくするテクニックについていろいろと考えてきました。しかし、「完全無欠な解決策はあるのか」という質問にyes or noで回答するとすれば、はっきり「no」です。右クリック(コンテクストメニュー)を表示できないようにしていようが、ブラウザのツールバー・メニューを消そうが、執拗なユーザーからは完全には隠すことができません。キャッシュファイルの問題があります。キャッシュファイル対策をしても、ブラウザの履歴などからURLが分かり、結局、メニュー付きのウインドウで表示され、メニューからソース表示をされてしまいます。
また、暗号化をいくら行っても、「完璧」ということはありえません。私自身、HTML暗号化ソフト「SHTML」を開発していて、つくづくと感じたのですが、どんなテクニックも結局は抜け道があるものです。結局、ブラウザさえ解釈できないような暗号であれば、ブラウザに何も表示されないのであり、特定のブラウザに特化した暗号化であればより解読を難しくできても、他のブラウザでは文字化けしたりします。ブラウザに解釈されるということは、同じようにJavascriptを正しく理解できる人で、かつ根気のある方なら解読できて当然です。
Javascriptの知識が全くない方でも利用可能なように設計されています。最短ステップの場合、暗号化したいソースを貼り付けて、「暗号化する」ボタンをクリックするだけです!!
右クリック禁止+ソースの暗号化+印刷禁止+テキスト選択禁止・・・が今までにないほど簡単に!!
例えば、このHTMLソースを解読すれば5万円貰えますとか言うなら、私も一生懸命解読すると思います。でも1万円なら迷うと思います。5千円なら、まず、しないと思います。金額はともかく、たいていの人はそんなに手間のかかることはしないはずです。ただ、簡単に見られるとセキュリティな意味でまずかったり、画像をいとも簡単にコピーされる可能性とかがあり、それを防御したいということであれば、これまで紹介してきた手法で十分なはずです。
画像などをコピーしようとしている、一般ユーザーにあきらめさせることができれば、たいがいの目的は達成されたと言えるでしょう。今まで100あったリスクが10や5に減れば、どれだけのメリットがあるでしょうか? そう考えないと、結局は「無駄なことをやっている」「コピーされたくなければWEBに公開するな!」という外野の声に負けて、対策を一切施さなくなってしまいます。100%でなければ無駄ということではないはずなのにです。「All or nothing」で考えると、ソースを見れれないようにする試みは無意味になりますが、今までのリスクを10分の1、20分の1にするということであれば、十分に意味のあることだと考えます。
最後に、これだけ延々説明してきて最後に言うのも何ですが、HTMLソースを隠そうとするあまり、ユーザービリティーを著しく下げないように注意しなければなりません。例えば、「Shift_JIS以外の文字コードでHTMLを作成する」以外のテクニックは全てJavaScriptを使うことが前提になっています。JavaScriptをoffにしている人のための代替テキスト(例:「<noscript>JavaScriptをoffにされているので表示できません。恐れ入りますが、JavaScriptをonにしてリロード(再読込み)してください。</noscript>」)を準備しなければなりません。JavaScriptをoffにしているユーザーは見ることができないからです。
最近では、「うちのサイトはJavaScriptをonにしないと使えません」というサイトも結構ありますし、offにしている人の割合を2〜3%であり、決して多いということはないのかもしれません。ただ、このことは必ず考慮してHTMLソースを見えにくくする手法を実行すべきです。
また、JavaScriptをonにしていてもpopupウインドウの表示を嫌って専用ソフト(やXP SP2のポップアップ・ブロック機能)で開かないようにしている人もいます。ツールバーを消そうとする余り、自動で子ウインドウを開くようなスクリプトを書いていると、このようなユーザーを排除する可能性があります。これについては、「別ウインドウ表示で、ブラウザのメニューを全て消す」の項目で説明しました。また、右クリックによるデフォルトのコンテクストメニューを非表示にするのは良いにしても、「右クリック禁止」とalertを表示させるのは嫌われることであることも説明しました。 【広告】ADSL徹底導入術 【広告】パソコン・PCソフト・周辺機器 【広告】眉毛の育毛剤
中途半端な結論ですが、こうすれば完全に隠すことができますみたいな方法は今のところ無いように思います。ただ、一部の執拗なユーザー以外はソースの解読をあきらめさせる方法はいくつかあります、ということになると思います。(そして、ユーザービリティーを下げすぎないように注意してくださいということになると思います。)個人的には、JavaScriptファイルを外部ファイル化し、かつ外部ファイルはCGIで作成しrefererをチェックする。日本語部分はunicode化するぐらいで十分だと思います。(終)
連絡先:info@broadband-xp.com (免責事項)このホームページの内容に起因する如何なるトラブルに対しても責任を持ちえません。必ず自己責任でご利用ください。 【広告】 PDF保存対策なら「PDF No Save」 |