詳細とTips・ご注意事項など

「ライセンス管理及びお試し版 提供のための補助機能」

(重要な御注意)
必ず、オリジナルのファイルはバックアップしておいてください。修正が必要な場合は必ずオリジナルを修正後、難読化処理を再びしていただく必要があります。

また、あってはならないことですが、難読化後、難読化前と同じ挙動にならないケースもないとは言えません。元に戻せるように必ずバックアップは行ってください。


ドメインチェック機能   クレジット表示機能(アラート形式)   タイムアウト機能   著作権表示機能(コメント形式)

1. 「一定の期日以降に、期限切れ(アクセス不能)になるようにする。」機能について

サーバの時間は、サーバ管理者が自由に設定できますから、お客様が提供するアプリケーションの体験版を(お客様クライアントに)使い続けられる可能性は依然として残り、完全な抑止力にはなりませんが、一定の効果があることは間違いありません。実際、サーバの時間が狂っていれば、実用的な運営はほぼ不可能と思われます。



2. 「サーバ名のチェックを行い、特定のサーバ名でのみ動作可能なようにする。」機能について

お客様商品あるいはアプリケーションの体験版(あるいは製品版)の利用を申請制にされている場合は、あらかじめ申請のあったドメイン名(及びお客様のサーバなど)でのみ動作するように設定できます。その際、サブドメイン名まで含めた完全一致にするのか、後方一致で照合するかどうかは選択できます。

●設定例
  1. 「www.sphp.jp」で「完全一致」→「sphp.jp」「www.sphp.jp」でのみOK。「faq.sphp.jp」「www.shtml.jp」は不可。

  2. 「faq.sphp.jp」で「完全一致」→「faq.sphp.jp」でのみOK。「www.sphp.jp」「sphp.jp」「www.shtml.jp」では不可。

  3. 「sphp.jp」で「後方一致」→「sphp.jp」「www.sphp.jp」「faq.sphp.jp」「test.sphp.jp」などでOK。「asphp.jp」「sphp.jp.shtml.jp」「www.shtml.jp」では不可。


関連FAQ: お客に納品する場合にドメインを限定させたいですが、ドメイン限定機能は事前に納品先のお客が利用するサイトのドメインを聞いておかなければならないということですか?
こちらをご参照ください。



3. PHPプログラム実行のたびにクレジット表示を行う


4. タイムアウト機能

PHPファイルを実行したページをずっと表示させることはできず、一定時間(例えば5分=300秒)経過すると、別のページに飛ばすことで、お客様が見込み客の方に提供される体験版をずっと使い続けることが困難なように(製品版の購入のほうに誘導)できます。

5. ソース内の著作権表示を編集削除できないようにする

前述の「3. PHPプログラム実行のたびにクレジット表示を行う。」と似ていますが、こちらは、ブラウザにJavaScriptのアラート形式でクレジット表示を行うのではなく、PHPソース内に直接コメント形式で記述します。

難読化していない場合は、削除されてしまえば終わりですが、この機能を使っていると、ソース内の著作権表示(コメント形式)を削除したり一文字でも編集すると、エラーとして検出します。

▼サンプル



 このサンプルプログラムは、Shift_JISで保存しないと動作しません。改行コードは何でも構いません。

▼ご注意事項


  1. この機能は、文字コードに依存します。オリジナルのファイルと同じ文字コードで保存される必要があります。(意識されない場合でも、オリジナルのファイルと同じ文字コードで保存されるようにはなっています。)ですから、後から文字コードを変更して保存しなおすということをされますと、改ざんされたというふうに解釈し、エラーになります。

  2. 文字コードに依存しますから、使用できる文字もその文字コードに制限されます。オリジナルのファイルがShift_JISでエンコードされているPHPファイルの場合、Shift_JISで使用可能な漢字・カタカナ・平仮名・記号に限られます。EUC-JPの場合も同様であり、また補助漢字はサポートしていません。CP51932に存在する文字のみです。

    また、具体的なご報告はないですが、Shift_JISやEUC-JPで作成されている場合で、特定の漢字・記号で(UTF-8への変換で問題になりがちな文字+古いバージョンのPHPなどで)問題がないとも言えません。もし、予期しない動作をする場合は、その怪しい文字を削除して難読化していただくことで問題が解消するかをご確認の上、サポートにご相談いただきますと幸いです。

    Shift_JISやEUC-JPの場合、使用できない文字が混じっている場合は、アラートが表示されるようにはしていますが、完全でない可能性もあります。大変申し訳ありませんが、「この漢字・記号・文字は許可されるべきでないのに許可される」「使用できるべきなのにエラーメッセージが表示される」などの問題がありましたら、お手数ですが、サポートにご相談ください。

    また、Shift_JISやEUC-JPの場合、機種依存文字が含まれている場合、警告メッセージが出ます。そのまま継続していただくこともできますが、MacユーザーがPHPソースをテキストエディターで開いた場合、著作権表示の一部部分が文字化けして表示される可能性が残ります。

  3. 改行のあるなしはチェックしていません。サーバにより、改行コードはまちまちであり、処理が複雑になるため、改行のあるなしによる違いがあってもエラーにはなりません。

  4. この著作権表示の部分だけを独立されたブロックとして「<?php〜?>」の中に入れていますが、「<?php (著作権表示・難読化なし) ?>」と後続の「<?php (難読化されたPHPソース) ?>」のブロックを合体させて、一つの「<?php (著作権表示・難読化なし)(改行)(難読化されたPHPソース) ?>」のようにされますと動作しません。「<?php (著作権表示・難読化なし) ?>」の部分は、テスト目的を除いて、後からいじらないでください。

  5. 他のファイルからrequire(or include)されている外部ファイル(ライブラリー)を難読化する際に、このオプションを御利用の場合は、御注意ください。ここで入力された著作権表示は、外部ファイルの頭にではなく、その外部ファイルを読み込んでいるPHPプログラムの頭に入れないといけません(あるいは、お客様のクライアント様に入れてもらわないといけません)。

    ステップ1のファイル選択画面で、左のような「ライブラリーである旨」のチェックボックスにチェックを入れていただくと、それ用にPHPソースを出力しますので、外部ファイルの場合はチェックを入れてください。

    なお、もちろん、外部ファイルの頭に同様の著作権表示を入れられてもいいですが、こちらは編集削除が自由に出来てしまいますから、その点はご了解ください。