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

エンコードのアルゴリズムについて

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

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


1. 3種類のパターン

現在、「ベーシック」「ベーシック強化版」「アドバンスド」の3種類になります。「ベーシック強化版」及び「アドバンスド」では、「<php〜?>」の外側の通常HTML部分も難読化の対象になります。(例えば、HTML部分がそのままですと、PHPのどの箇所でどのような処理をしているのかを類推されやすくなりますから、この方が強度が上がります。ただし、ブラウザに出力されるHTMLソースはそのままです。サイト訪問者から画像のパスなどを隠蔽したいなどの目的で、ブラウザに出力されるHTMLソースを難読化されたい場合は、弊社の別商品であります「サーバサイドSHTML for PHP」が必要です。)



2. どのパターンを選択すべきか?

基本的に「ベーシック強化版」を選んでいただければと思いますが、下記の場合には、「ベーシック」を御利用ください。
逆に、「ベーシック」では正しく動作せず、「ベーシック強化版」や「アドバンスド」を使っていただく必要がある場合があります。PHPのソースブロックとHTMLブロックが複雑に入り混じっているケースですが、詳細はこちらをご参照ください。

アドバンスドは、設置が少々複雑化しますが、「ベーシック強化版」よりもさらに強力にプロテクトされたい場合に御利用ください。


3. アドバンスドを御利用時の「外部ファイルのファイル名」について


4. MD5チェックについて

  1. このチェックは外部ファイルについてのMD5チェックになります(エンコードのアルゴリズムを「アドバンスド」にされている場合のみ。)。外部ファイルは改行が一切ないファイルになっていますので、UnixサーバでもWindowsサーバでも動作しますが、改行を一つでも不用意に追加されますと、MD5値が変化し、MD5エラーになってしまいます。テスト以外の目的では、外部ファイルを触られないようにお願いします。

  2. 異常なMD5値であった場合、エラーメッセージを出さずに、お客様のサーバのエラーページに転送することが一番プロテクト力としては良い設定ですが、お客様のサーバのエラーページに転送することができない場合は、空白ページ(about:blank)に移動させることになります。ただ、この場合、エラーメッセージ(alert。アラート)を一切表示させないで空白ページに移動しますと、ユーザーは何が起こったかさっぱり分かりません。特段の悪意なく、外部ファイルの改行を一つだけ追加した場合でもエラーが発生しますため、空白ページに移動させる場合は、何らかのエラーメッセージをアラート形式で表示すべできでしょうが、それはプロテクト力としては下がります。エラーメッセージはJavaScriptによるアラート形式ではなく、転送先の別ページ(in お客様サーバ)で表示するのがベストです。


5. 「(解読防止)外部ファイル単独のダイレクト実行を禁止する。」について

  1. この場合は、JavaScriptによるアラート形式のエラーメッセージを設定できなくしていますが、空白ページ「about:blank」に飛ぶ設定をされても問題ないです。なぜなら、多くの外部ファイルは単独で実行しても何も表示されない・もしくはエラーになるのは当たり前であって、なんら不思議はないからです。

    ただ、ソースの解読行為をお客様で把握されたい場合は、転送先URLにお客様サーバのURLを設定していただいたほうが良いです。