ホームページ  >  記事  >  バックエンド開発  >  PHP スクリューを使用して PHP ソース コードを暗号化する方法を分析する_PHP チュートリアル

PHP スクリューを使用して PHP ソース コードを暗号化する方法を分析する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:04:56837ブラウズ

PHPを使っていくうちに、自分が書いたPHPコードはソースコードの形でサーバー上に置かれているため、簡単に持ち帰って他人が改変して(自分で開発して)利用できることに気づきました。
私の労働の成果を保護するために、私はphpコードを暗号化できるソフトウェアを探していました。
最も有名なものは Zend の Zendencoder ですが、これはオープンソース ソフトウェアではありません (価格が非常に高く、クラック バージョンは見つかっていません)。
有料のものを買う余裕がないので、オープンソースのものを使用します。オープンソースソフトウェア php_screw を見つけました。最新バージョンは 1.5 です
インストール環境
システム: centos 5.3
ソフトウェア: Apache 2.2.9
PHP 5.2.10
上記の環境はすべて自分でダウンロード、設定、インストールしました。 。特定の Apache+php+mysql のインストール方法については、インターネットで検索してください。
インストール
1. tar -zxvf php_screw-1.5.tar.gzでtarを解凍します
2. php_screw-1.5ディレクトリに入ってインストールを開始します
cd php_screw-1.5
phpize
phpizeについては、 php5 の場合 - dev 拡張モジュールに php5-dev モジュールをインストールするだけです。
./configure
3.暗号化に使用するパスワードを設定します

コードをコピーします コードは次のとおりです:

vi my_screw.h
-- 暗号化SEEDキーを変更してください( pm9screw_mycryptkey) を好みに応じて
値に追加します。
暗号化 SEED 配列にさらに値を追加すると、暗号化は解読されにくくなります。ただし、SEED のサイズは
時間とは無関係です。
* ソースコードを読んで理解できれば、元の
暗号化ロジックを変更することは可能ですが、一般的には、これは必要ありません
オプション: 暗号化されたスクリプトにはスタンプが追加されます。必要に応じて、
php_screw.h の PM9SCREW および PM9SCREW_LEN で定義されているこのスタンプを変更できます
' s ' s ‐ ‐ ‐ php_screw.h の PM9SCREW と PM9SCREW_LEN
5 modules ディレクトリの php_screw.so ファイルを /usr/lib/php5/extension ディレクトリにコピーします


cp modules/php_screw.so /usr/lib/php5/extension/

6. php.ini ファイルを編集します。
php.ini ファイルに次のステートメントを追加します
extension=php_screw.so
7. Apache を再起動します
/srv/apache/bin/apachectl restart
8. 暗号化ツールをコンパイルします
cd tools
make
9. toolsディレクトリにある暗号化ツールscrewを適切なディレクトリにコピーします
cp screw /usr/bin/
上記の10の手順を完了すると、php_screw-1.5が完全にインストールされます。そして、PHP は暗号化された PHP ファイルの解釈もサポートするようになりました使用方法
1. 暗号化する PHP ファイルを作成します。
PHP の速度をテストするために次の test.php ファイルを作成しました

コードをコピーします
コードは次のとおりです:


$a=0;
$t=time();
for($i=0;$i<5000000;$i++) {$a=$a*$i;}
$t1=time();
echo "

";echo "それは使用しました: ";echo $t1-$t;echo "秒";?>


上記のtest.phpファイルを/var/www/ディレクトリに置きます。ブラウザからアクセスすると、大規模な計算におけるphpの速度が表示されます(目安)
2. 作成したphpファイルを暗号化します
cd /var/www/
screw test.php
暗号化後、ディレクトリ 以下の test.php ファイルは暗号化されたものです。ソース ファイルは test.php.screw という名前に変更されて保存されました。
test.php が正常に使用できるかどうかをテストしてみましょう?速度はどうですか?
比較してみたところ、暗号化前後の速度はほぼ同じで、基本的にはあまりロスがありません。
3. バッチ暗号化ファイル
.html ファイルを暗号化した後、debian、apache2、php5 でテスト済み、それらは正しく解析できます。
php_screw は現在のディレクトリ、ディレクトリに含まれるファイル、およびディレクトリに含まれるファイルに対してどのように機能しますか。ディレクトリ? ファイル全体を暗号化します
find ./ -name "*.php"-print|xargs -n1screw //すべての .php ファイルを暗号化します
find ./ -name "*.screw" -print/xargs -n1 rm // .php ソース ファイルのバックアップ ファイルをすべて削除します
これにより、現在のディレクトリ内のすべての .php ファイルが暗号化されます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327734.html技術記事 PHPを使っていくうちに、自分が書いたPHPコードはソースコードの形でサーバー上に置かれているため、他人が簡単に持ち出して改変(自作)して利用できることに気づきました…。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。