PHPはソースが平文です。
シェアウェアのMovableTypeや、はてまた糞高いSitePublisですら、ソースさえ手に入れてしまえばどうとでもできてしまいます。
ということでソースを暗号化してしまいましょう。
BlencというBLowfishライブラリを見つけましたが、日本語情報がマニュアルのコピペサイト以外一切ありません。
どうなってんだ。
PECLなのでLinuxであれば適当にpecl installとかしてください。
Windowsはdllが用意されているので拾ってきてphp.iniにextensionを書けばOKです。
デフォルトは'/usr/local/etc/blenckeys'になっているので、Windowsでは変更必須です。
ini_set()で変更してもいいです。
中を見てみると、全く読むことができない状態になっているのがわかります。
そしてこのhoge.encrypt.php、直接PHPファイルとして取り扱い可能です。
Fatal error: blenc_compile: Module php_blenc was expired. Please buy a new license key or disable the module. in Unknown on line 0
おうふ。
expiredってなんだよ。
Blencのソースを見てみる。
http://svn.php.net/viewvc/pecl/blenc/trunk/blenc.c?view=markup
ということでソースからコンパイルできる人続きを頼んだ。
シェアウェアのMovableTypeや、はてまた糞高いSitePublisですら、ソースさえ手に入れてしまえばどうとでもできてしまいます。
ということでソースを暗号化してしまいましょう。
BlencというBLowfishライブラリを見つけましたが、日本語情報がマニュアルのコピペサイト以外一切ありません。
どうなってんだ。
PECLなのでLinuxであれば適当にpecl installとかしてください。
Windowsはdllが用意されているので拾ってきてphp.iniにextensionを書けばOKです。
extension=php_blenc.dll blenc.key_file = C:\xampp\blenc.key_fileblenc.key_fileは暗号化キーを保存する場所の設定です。
デフォルトは'/usr/local/etc/blenckeys'になっているので、Windowsでは変更必須です。
ini_set()で変更してもいいです。
<?php // 暗号化するソース $source = file_get_contents('path/to/hoge.php'); // 暗号化して書き込み。返り値は暗号化キー $key = blenc_encrypt($source, 'path/to/hoge.encrypt.php'); // 暗号化キーも保存 file_put_contents($ini_get('blenc.key_file'), $key, FILE_APPEND);hoge.phpをBlowfishで暗号化した結果がhoge.encrypt.phpとして保存されました。
中を見てみると、全く読むことができない状態になっているのがわかります。
そしてこのhoge.encrypt.php、直接PHPファイルとして取り扱い可能です。
Fatal error: blenc_compile: Module php_blenc was expired. Please buy a new license key or disable the module. in Unknown on line 0
おうふ。
expiredってなんだよ。
Blencのソースを見てみる。
http://svn.php.net/viewvc/pecl/blenc/trunk/blenc.c?view=markup
// エラーはここで発生 if(BL_G(expired)) { zend_error(E_ERROR, "blenc_compile: Module php_blenc was expired. Please buy a new license key or disable the module."); return NULL; } // BL_Gはexpire_charと比較してる BL_G(expire_date) = pemalloc(sizeof(expire_char), TRUE); // expire_charはBLENC_PROTECT_EXPIRE char expire_char[] = BLENC_PROTECT_EXPIRE;http://svn.php.net/viewvc/pecl/blenc/trunk/blenc_protect.h?view=markup
// BLENC_PROTECT_EXPIREは2013年4月30日 #define BLENC_PROTECT_EXPIRE "30-04-2013"なんだこれ。
ということでソースからコンパイルできる人続きを頼んだ。
PR