始める前に、まず 2 つの問題を明確にする必要があります。1 つ目は、オープンソースのサポートはコード暗号化に反対することを意味するものではありません。2 つ目は、自分のものではないもの (会社のものなど) をオープンソースにすることはさらに不適切です。
以前知っていたように、PHP コードの暗号化には Zend のエンコーダが使用されています。これは商用ソフトウェアであるだけでなく、クラックされる可能性がある問題もあるようなので、代替ソリューションを見つけました────php_screw 。日本開発のもの。
php_screw は非常に小さいので、そのアルゴリズムを注意深く読んでいませんが、ドキュメントによると、SEED を自分で変更し、so ファイルと実行可能ファイルを自分でコンパイルすることができます。十分なスキルがあれば、アルゴリズムを自分で変更することもできます。いずれにせよ、私たち「一般人」にとっては、この種の暗号化で十分です。本当に完全に保護したい場合は、公開しない方がよいでしょう。作者は、解読するのは簡単ではないと言いました。牛はどうなっているのかわかりませんね?
インストール環境には、PHP5.x、zlib が有効、autoconf、automake がインストールされている必要があります。
テスト環境: Ubuntu 8.04 丈夫、PHP 5.2.3。
ダウンロードアドレス: http://sourceforge.net/projects/php-screw/
1. my_screw.h を解凍して変更します。その中の数字はパスワードに相当し、数字の数は復号速度に影響しません。
2. so ファイルをコンパイルします:
2008-09-01 に更新
暗号化後も、 include_path に配置された暗号化されたコードを参照するために require または include を使用すると、まだ小さな問題が発生します。 解決策は 2 つあります。
include_path に配置された暗号化されたコンテンツを参照するには、絶対パスを使用します。それが自分のホストの場合は、間違いなく問題ありません。 このプロジェクトのサブディレクトリなどにある参照には、相対パスを使用しても問題ありません。