php は現在最も人気のある Web プログラミング言語です。ただし、PHP は解釈して実行されるため、ソース コードがプログラムであり、商用化 (またはその他の目的) には暗号化が必須です。このシリーズでは、中国で一般的に使用されている PHP 暗号化方式をいくつか紹介し、分析します。
#php ソース コードを暗号化する方法:
php ソース コードを暗号化する方法:
1. PHP 拡張機能を使用しない暗号化
このタイプの暗号化の代表的なものには、Weidun PHP 暗号化エキスパート、PHP オンライン暗号化プラットフォーム、PHP Aegis などが含まれます。 このタイプの暗号化は、コアとして eval 関数を使用し、暗号化の目的を達成するためにさまざまな文字列難読化やさまざまなトリックによって補完されます (より正確には、混乱と見なす必要があります)。以下では、このタイプの暗号化の一般的なプロセスを説明するために、単純な hello world を例として取り上げます。<?php echo "hello world";
まず、このコードを eval<?php
eval('echo "hello world";');
<?php eval(base64_decode('ZWNobyAiaGVsbG8gd29ybGQiOw=='));
2. 複数のエンコード関数を同時に使用する
先ほど述べた Base64 に加えて、PHP には、urlencode、 gzcompressなどこれらの関数を混合すると、復号化の複雑さ (困難さではなく) が増加する可能性があります。さらに、strtr を使用して独自のエンコード ルールを策定することもできます。関数名の代わりに変数を使用する 変数の名前には特定の文字を使用する #ここで説明する特定の文字とは、I と 1、0 と O など、非常によく似た文字です。画面全体が O と 0 で構成される変数で埋め尽くされ、それぞれの名前が 10 文字を超えると想像してください。 。 。ファイル自体が変更されているかどうかを判断する
この機能は簡単そうに思えます。ファイルの概要を作成し、それを比較して変更されているかどうかを確認します。しかし、ファイルに概要を埋め込むにはどうすればよいでしょうか?完璧な解決策は見つかりませんでしたが、回避策は簡単です。 。 。<?php $code = substr(file_get_contents(__FILE__), 0, -32); $hash = substr(file_get_contents(__FILE__), -32); if(md5($code) !== $hash) { exit('file edited'); } ACBC41F727E00F85BEB3440D751BB4E3
以上がPHPのソースコードを暗号化するにはどうすればいいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。