● PHPプログラムについて・よくある質問

1.変数名の衝突を避けるためにはどうすればいいですか?
サーバサイドSHTMLで使用されているPHPの変数及び関数名などは全て「_shtml」(一部、大文字の「_SHTML」)を含みます。また、サーバサイドSHTMLが出力する難読化済みHTMLソース内のJavaScriptの変数及び関数名にも「_shtml」が含まれるようにしてあります。


2. PHPライブラリが難読化されているので、その分、処理速度が落ちませんか?
理論的には落ちるでしょうが、弊社がテストを繰り返している限りでは、体感できる範囲ではありませんでした。体験版も準備させていただいておりますので、体験版で動作をご確認ください。

3. PHP3を使用していますが、利用できますか?
いいえ、PHP4.04以上で動作するように設計されています。また、PHPはzlib圧縮関数をサポートする形でconfigureされていなければなりません。

4. PHPではなく、他の言語で同様なことができるのであれば注文したいのですが・・・。
サーバサイドSHTMLはPHP版の他にPerl/CGI版があります。また、随時JSP版・ASP版についても販売を予定しています。

5.私どものサイトはPHPの内部エンコード(mbstring.internal_encoding)はEUC-JPですが、出力はShjift_JISです。利用可能ですか?
まず、EUC-JP版とUTF-8版及びShift_JIS版の違いは、基本的には、内部エンコーディング(mbstring.internal_encoding)の違いを指しています。ですから、お客様の場合には、EUC-JP版の体験版及び製品版をご利用いただく必要があります。(厳密に言えば、弊社提供の難読化関数getEncryption_shtml関数に引き渡す文字列の文字コードがEUC-JPである場合には、EUC-JP版を申し込んでいただく必要があります。

つまり、EUC-JP版のサーバサイドSHTMLをご利用であれば、getEncryption_shtml関数の引数として渡される文字列はEUC-JPであるという前提でプログラムされています。同様に、UTF-8版のサーバサイドSHTMLでは、UTF-8の文字列を難読化するという前提で設計されています。

例えば、mb_convert_encoding関数を使って、EUC-JP→Shift_JIS変換をされている場合や、.htaccessやphp.iniの設定により、出力はShift_JISで自動変換している場合は、EUC-JP版のサーバサイドSHTMLで暗号化、EUC-JP→Shift_JIS変換をするようにしてください。

6.難読化したい文字列を難読化関数に引数として渡さないといけないということは、「<?php〜?>」の外側のHTMLタグは難読化できないということですか?
プログラムを修正していただかない限りはそのようになります。「<?php〜?>」の外側のHTMLタグも難読化したい場合には、一旦、「print "(本当は、「<?php〜?>」の外側にあった文字列)";」のようにPHPプログラムを修正していただき(もしくは、頭の中でそのように考えていただき)、それをさらに、「print getEncryption_shtml("(本当は、「<?php〜?>」の外側にあった文字列)",$param1,$param2);」のように修正していただく必要があります。



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