PHP プログラムを暗号化するためのソフトウェアは数多くありますが、最も一般的に使用されるのは公式 Web サイトのソフトウェアです。ここでは、PHP プログラムを暗号化できる php_screw を使用するソフトウェアを紹介します。下に。
PHP_Screw は、PHP ソース コードを暗号化する無料の PHP 拡張機能です。暗号化されたシード ファイルの効率は低下せず、まだ解読されていません。インストール方法と使用方法は次のとおりです
最新バージョンはphp_screw_1.5です
wget http://nchc.dl.sourceforge.net/project/php-screw/php-screw/1.5/php_screw-1.5.tar.gz
公式サイトからソースコードのみダウンロード可能
公式サイトから最新バージョンをダウンロードします:
http://sourceforge.net/project/showfiles.php?group_id=52025
インストール手順:
1. ソースコードをダウンロード:
<font face="NSimsun">wget http://nchc.dl.sourceforge.net/project/php-screw/php-screw/1.5/php_screw-1.5.tar.gz</font>
2. 解凍します:
<font face="NSimsun">tar zxvf php_screw_1.5.tar.gz</font>
3. README.en ファイルから、このバージョンのパッケージには PHP5.x 環境と zlib サポートが必要であることがわかります (スクリプトを実行して確認してください)。 PHP4.X版をお使いの場合は、php_screw_1.3版をダウンロードしてください
4. ソースコードディレクトリに移動します
#cd php_screw_1.5<br>
root@Server:~/php_screw-1.5# vim php_screw.h<br>
#PM9SCREW「tPM9SCREWt」を定義します<br>
#PM9SCREW_LEN 10 を定義します<br>
#PM9SCREW「tLAURENCEt」を定義します<br>
#PM9SCREW_LEN 9 を定義します
5. php_screw.h ファイルを変更しないと、暗号化されたファイルの内容の先頭に PM9SCREW が表示されます。これをコピーして Google で検索すると、screw モジュールで暗号化されていることがわかります。現時点ではインターネット上に復号化アルゴリズムはありませんが、将来的には、暗号化に使用したアルゴリズムが他人に分からないようにするために行われるわけではありません。 COOLに変更した後、10も6に変更する必要があります。LAURENCE以降の文字長は9文字であるため、暗号化をサポートしていないと、復号化および解析できません。
my_screw.h
root@Server:~/php_screw-1.5# vim my_screw.h
短い pm9screw_mycryptkey[] = {
11152, 368, 192, 1281, 62
};
短い pm9screw_mycryptkey[] = {
12852, 968, 192, 1281, 62, 269
};
暗号化されたシード ファイルをカスタマイズします。これはプログラムのハイライトです。好みのテキスト エディタを使用してソース ディレクトリの my_screw.h を開き、そのファイル内の配列ファイルを変更します。配列の長さを追加するには、数値を使用します。配列が長いほど、暗号化の信頼性が高くなります。さらに、配列の長さは暗号化と PHP プログラムの実行速度には影響しません。5 桁を超えると、復号化と解析に問題が発生することがテストで判明しました。
6.phpize
#phpize<br>
構成:<br>
PHP API バージョン: 20041225<br>
Zend モジュール API 番号: 20060613<br>
Zend 拡張機能 API 番号: 220060519
そのようなコマンドが存在しないというメッセージがシステムに表示される場合は、apt-get install php5-dev Centos をインストールする必要があります。それでも上記のコマンドが存在しないというメッセージが表示される場合は、yum -y install php5-devel であると考えられます。 PHP が標準ディレクトリにインストールされていない可能性があります。PHP インストール ディレクトリの bin フォルダを検索して、ファイルが存在するかどうかを確認してください。次に、php_scre_1.5 ディレクトリに戻り、次を実行します
#/フル/パス/to/phpize
phpize を正常に実行するには、autoconf および M4 パッケージが必要です。実行が成功すると、構成ファイルがソースコードフォルダーに表示されます
インストールされていない場合、エラーは次のようになります: phpize コマンドが見つかりません
解決策: centOS: yum -y install php-devel
:RHEL :up2date -i php-devel
7. 構成
./configure
./configure
phpが標準以外のディレクトリにインストールされている場合は、phpizeディレクトリにphp-configファイルがあるかどうかを確認し、次のようにディレクトリを実行する必要があります<font face="NSimsun">./configure –with-php-config=/full/path/to/php-config</font>
./configure –with-php-config=/full/path/to/php-configmake
8. インストールmake install
メイクインストール
この時点で問題が発生する場合があります:
解決策:
php_screw.cを修正する必要があります(調整が必要な箇所が2か所あります)
CG(extended_info) = 1 を設定します;
に変更されました:
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;
9.php設定
php.ini ファイルに拡張子を追加します
vim /usr/local/php/etc/php.ini#make
拡張子=php_screw.so
Apacheを再起動し、phpinfo()を確認すると、php_screwに関する情報があるはずです。
#作る<font face="NSimsun">#screw phpinfo.php</font>
2. php_screw_1.5 の欠点の 1 つは、実行のために php ソース コード ディレクトリに切り替えた場合、Screw 暗号化ツールは一度に 1 つのファイルしか実行できないことです。
#ネジ*
ファイルは暗号化されません。何百ものファイルを暗号化したい場合は、大惨事になります
解決策は以下の通りですので、実行してください
find /data/php/source -name "*.php" -print|xargs -n1screw //すべての .php ファイルを暗号化します
find /data/php/source -name "*.screw" -print|xargs -n1 rm //すべての.phpソースファイルのバックアップファイルを削除します
/path/to/php/source ディレクトリ内のサフィックス php を持つすべてのファイル (サブディレクトリ内のファイルも含む) を暗号化できます。
このようにして、基本的に PHP ソース コードの暗号化が実現されます。個人的な小さなプログラムのソースコードを暗号化したいだけなら、php_screw が良い選択だと思います