● プロテクトコードの作成について・よくある質問

1.「サーバサイドSHTML」で確かにソースは難読化されましたが、右クリック禁止などは有効にならず、右クリックできます。
「サーバサイドSHTML for JSP」は、「HTMLソース難読化用Javaライブラリ」であり、右クリック禁止などはできません。右クリック禁止・印刷禁止などを実現するためには、弊社の姉妹商品であります「SHTML」を併用していただく必要があります(「サーバサイドSHTML for JSP」ご購入者には「SHTML」を無料で提供させていただきます。)。

SHTMLはWindows用ソフト(***.exe)です。SHTMLは、HTMLソースの難読化及び「右クリック禁止・印刷禁止・テキストのコピー禁止」などのプロテクト機能の両方を備えていますが、HTMLソースの難読化に関していえば、静的なHTMLソースの難読化のみに対応しており、動的なデータの難読化には対応していません。ですから、SHTML(.exe)はJSPやJavaサーブレットで動的に生成されるページのHTMLソースの難読化はできません。

ですから、JSPやJavaサーブレットで動的に生成されるページの保護を考えられる場合、「サーバサイドSHTML」と「SHTML」の両方を使っていただく必要があります。前者は、動的なHTMLソースの難読化を担当し、後者は、「右クリック禁止・印刷禁止・テキストのコピー禁止」などのプロテクト機能を実現します。

2. WindowsアプリのSHTMLで、どのようにプロテクトコードを作成しますか? 難読化する文字列が決まっていなければ難読化できないようなのですが、動的に生成されるコンテンツなので、どんな文字列で難読化したらいいのか分かりません。
まず、メニューは「どこでもSHTML」というメニューを使います。「どこでもSHTML」は、ページ内の任意の一部分を難読化するためのメニューです。

そして、難読化する文字列は、実は、何でも良いのです。「<!-- a -->」というコメントタグで十分です。それで難読化し、難読化して出来たソースは基本的に全てJavaScriptですので、それを外部ファイル化して、hogehoge.jsなどとして保存します。そのhogehoge.jsをJSPファイルやJavaサーブレットで出力するHTMLソースの中に混ぜてください。

その上で、サーバサイドSHTMLで提供するメソッドに、難読化された文字列+<script type="text/javascript" src=\"hogehoge.js\"></script>を引数に渡していただければ、暗号化は完了します。後は、戻り値である暗号化文字列をout.printlnなどで出力してください。

具体的な方法は、サーバサイドSHTMLの体験版のdocフォルダーの中のdocodemo.htmlをご参照ください。


3.フレームのページにプロテクトコードを入れてみましたが、右クリック禁止になりません。
親フレーム(<frameset>タグを含むページ)にプロテクトコードを入れるのではなく、子フレームにプロテクトコードは入れるようにしてください。

また、iframeタグを使って、別のHTMLファイルやJSPファイルをインクルードしている場合は、そのHTMLファイルやJSPファイルでも、別個にプロテクトコード(JSファイル)を読み込ませてあげる必要があります。


HTMLソース難読化用Javaライブラリ
「サーバサイドSHTML for JSP」
© 株式会社プランセスお問い合わせ