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

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

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

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

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

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

その上で、Perl/CGIファイルで出力するHTMLソースを引数として、サーバサイドSHTMLで提供する関数に渡して、難読化された文字列を受け取ります。それをprintすれば完了です。具体的な方法は、サーバサイドSHTMLの体験版のdocフォルダーの中のdocodemo.htmlをご参照ください。


3.プロテクトコードは外部ファイル化(JSファイル化)していて、難読化されたHTMLソースとは別ファイルということは、仮にJSファイルを読み込まないように、(上級)ユーザーが設定すれば、プロテクトコードを回避できるのではないでしょうか?
はい、確かに特定のブラウザやプラグインによっては、特定のファイル(JSファイルやスタイルシート・Flashなど)を読み込まないように設定することはできますが、そのような方法を知っているユーザーはごく一部です。また、どこでもSHTMLで作成したプロテクトコードが読み込まれていないことを検出した場合、エラーにすることができる設定も準備しています。XMLファイルの設定で可能になっています。詳細は、体験版のマニュアルをご覧ください。

4.Macしか持っていません。プロテクトコードの作成はどのようにすればいいですか?
こちらをご参照ください。

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

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




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