例えば、画像を守りたいということで右クリックを禁止したとしても、「Javascriptをoffにしてアクセスする。」「右クリック禁止が有効にならないブラウザでアクセスする。」「ブラウザメニューからソース表示する」などなど対抗策はいくらでも存在します。結局、HTMLソース全体を難読化(ランダムに並ぶほぼ英数字だけの意味不明なソースに変換)すること以外には、根本的な解決策は無いのです。
※ 弊社では、2005年7月に先行して、静的なHTMLファイルの難読化を目的とした「SHTML」というWindowsアプリを販売してきました。ただ、動的なHTMLソースの難読化には対応していませんでした。しかしながら、2007年12月にこのPHP版をリリースし、Perl/CGI版を2008年2月にリリースしました。また、2009年2月に、Classic ASP版 / ASP .NET版をリリースしました。
「サーバサイドSHTML」では、サーバ上でリアルタイム
※2-1に文字列をJavaScript化して、意味不明な文字列に変換してしまいます。まずは、
サンプル集をご覧ください。掲示板やフォーム、データベースと連動したショッピングサイトなどをサンプルとして準備しています。
※2-1 弊社調べで、約10KBのデータ(全角漢字・ひらがな約5,000字)を処理するのに、約0.15秒から0.2秒で難読化は完了します。
「右クリック禁止」「印刷禁止」「PrintScreenキー対策」だけでなく、
- テキスト選択(コピー)禁止
- 画像保存機能(右クリック禁止を突破されたとしてもダミー画像しか保存できなくします。)
- フレーム内表示禁止(他人のサイトのコンテンツとして表示されることを防ぎます。
- ドメイン限定機能(他のサーバにコンテンツごとコピーされてアップロードされることを防ぎます。)
- 一定時間以上の閲覧を禁止する機能
- 各種ブックマークレットを活用したHTMLソース解析やコンテンツのコピーを防止する機能
- キャッシュ対策※3-1
などが利用可能です。
※3-1 「PrintScreenキー対策」及び「キャッシュ対策」は有料オプションです。
アクセスしている人物をクッキーやセッションその他で判別できるシステムにおいては、「サーバサイドSHTML for PHP」を使えば、特定の人物にだけ印刷やテキストのコピーを許可し、その他の人には許可しないということも簡単に実現できます。イントラネット内での御利用で、特定の管理職だけに印刷やテキストのコピーを許可するという使い方もできます(
サンプル)。
弊社提供のライブラリ群をFTPソフトでアップロードするだけでインストールは完了します。root権限は不要です。
また、お客様のPHPプログラムの変更も僅かです。弊社提供のライブラリを読み込んでいただくために数行のコードを追加していただき、難読化したい文字列を弊社提供の難読化関数の引数として渡していただくだけです。詳細は、
御利用方法のページをご覧ください。