人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPのソースコードを暗号化する方法を探しています。

ファイル全体を暗号化するのではなく、あくまでPHPファイルのコードの一部分を、暗号化できれば良いです。

例えば以下のようなソースコードです。
if(empty($setup_key)){
exit;
}

ただし、ionCube PHP Encoderのようなソフトを使うのではなく、PHPのシステムレベルで、ごく簡易的な方法であればと思います。

●質問者: kt26
●カテゴリ:ウェブ制作
✍キーワード:EMPTY EXIT PHP コード システム
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● GEN111
●40ポイント

見る人が見ればすぐわかってしまうと思いますが、二つほど。

function kaidoku1($n) { eval(gzinflate(base64_decode($n))) ; }
function kaidoku2($n) { eval(gzinflate(pack('H*', $n))) ; }

$code = '
if(empty($setup_key)){
exit;
}
' ;

$angou1 = '4+XKTNNIzS0oqdRQKU4tKS2Iz06t1NSs5uVKrcgsseblquXlAgA=' ;
kaidoku1($angou1) ;

$angou2 = 'e3e5ca4cd348cd2d28a9d450294e2d292d88cf4eadd4d4ace6e54aadc82cb1e6e5aae5e50200' ;
kaidoku2($e) ;

// それぞれの暗号化の仕方
// $angou1 = base64_encode(gzdeflate($code)) ;
// $angou2 = bin2hex(gzdeflate($code)) ;

gzdeflate を入れているのは長めのコードの時に短くなるのを期待しているのと、文字列特有の偏りをなくすため。

http://phpspot.net/php/man/php/function.gzdeflate.html

◎質問者からの返答

if(empty($setup_key)){

exit;

}

この部分がファイル内にそのまま記述されるなら、それは暗号化している(もしくは重要な内容)だとわかるのではないでしょうか?

あくまでも上記ソースがファイル上ではわからない・暗号化されている事を望みます。(私の解釈が間違っていたらすみません)


2 ● GEN111
●40ポイント

私も勘違いしている & 書き方がまずかったかもしれませんが、

$code = '
if(empty($setup_key)){
exit;
}
' ;

この部分は暗号化も含めた説明のために記述したもので、あらかじめ暗号化された文字列があれば

function kaidoku1($n) { eval(gzinflate(base64_decode($n))) ; }
kaidoku1('4+VKTc7IV1DySM3JyddRKM8vyklRVFKw5uUCAA==') ;

これで動作します (例とは別のコードを暗号化しています)。

もちろん kaidoku 関数を作らずに

eval(gzinflate(base64_decode('4+VKTc7IV1DySM3JyddRKM8vyklRVFKw5uUCAA=='))) ;

だけでも動きます。

この暗号化された文字列を得るために

$code = '
if(empty($setup_key)){
exit;
}
' ;
echo base64_encode(gzdeflate($code)) ;

こういうコードを実行するとか、いちいちコードを書くのが面倒なら暗号化用のフォームを作成するということです。

http://q.hatena.ne.jp/1174385745

◎質問者からの返答

再説明ありがとうございます。意味が理解できました。

そしてテストで動かしてみたのですが、良い感じだと思います。

確かに見る人が見ればわかるかもしれませんが、PHPに詳しくない方には有効でしょうし、システムの使い回しを防いだり、利用制限をつける事も出来ると思います。


3 ● kurukuru-neko
●0ポイント

HTML/PHP スクリプト

暗号化ソフトウエア

CODELOCK V2.0 評価版あり

6800円

http://codelock.agtjapan.com/

PHPスクリプツ暗号化ツール

PHP Screw

http://sourceforge.net/projects/php-screw/

http://www.pm9.com/newpm9/itbiz/php/phpscrew/

http://www.moongift.jp/oss/intro/i-1177.html

◎質問者からの返答

良い情報だと思いますが、質問に書いてあるとおり、今回はソフトを探しているわけではありません。


4 ● kurukuru-neko
●10ポイント

>今回はソフトを探しているわけではありません

PHPは、スクリプトソースの暗号化をサポート

していません。従ってなんらかのソフト

使わないでの対応するのは不可能です。

1.PHPのソースコードをWEBサーバーに登録

するためには、事前に暗号化するため、

何らかの手段としてソフトウェアは必須

2.システムレベルで行う場合php.ini

に通常組み込まれたZendの拡張を使う

処理か、PHP拡張を使う処理

PHP Screwはインストールの解説にあるように

php.ini zend_extensionを使う

(Zend Guardもおそらく同じ)

Turck MMCache,microcodeは、

php.ini extensionを使う

http://www.pm9.com/newpm9/itbiz/php/phpscrew/phpscrew.txt

http://www.doyouphp.jp/tips/tips_mmcache_encoder.shtml

http://www.zend.co.jp/products/guard/

http://sourceforge.net/projects/microcode

http://www.ioncube.jp/

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ