PHP を保護するということは、いくつかの重要なインターフェイスなどを含む知的財産権を保護することを意味します。
現在一般的に使用されているソリューション:
PHP などの動的言語の保護については、これは、js 保護について以前にまとめたものとほぼ同じであると感じます。(推奨される学習: PHP プログラミングの入門から習熟まで )
暗号化;(一番弱い強みは、まさか、このような動的インタプリタ言語の特性により)動的デバッグやフックで解決することももちろん可能ですが、にらめっこすることも可能です。
難読化; (つまり、コード内の変数や文字列の変更を含む一部のローカル難読化、より強力なものは論理難読化を実行します); オープンソース php ast deal による難読化対策と。
仮想マシンの保護 よくある質問ですが、仮想マシンの機能強化に関しては、仮想マシンがローカル層とどの程度うまく組み合わされるか、ハンドラーをどのようにより適切に設計できるかによって決まります。 ; ルービック キューブ、リバース エンジニアリング、52 など、徹底した研究を行っている Ganlv という偉い人がいますので、読みに行ってください;
コンパイルの紹介もあります , これは、解釈および実行のためにバイトコード ファイルにコンパイルされます。バイトコードと解釈の間にはギャップがあります。対応する関係により、この時点でマッピング ルールを変更できます。たとえば、Zend Guard
は現在最強の Swoole コンパイラであり、同時にパフォーマンスへの影響は大きくありません。私はこの拡張暗号化に非常に興味があり、興味があります。もちろん、解析できません。第一に、サンプルがありません。第二に、時間がありません。
PHP のような動的言語はインタプリタ上で実行する必要があることはわかっています。
Zend バイトコード インタプリタ。ここで実行できるのは、Zend バイトコードを LLVM ir に変換し、llvm の多くの優れた最適化パスを利用して最適化することです。難読化することもできます。
Swoole Compiler は PHP をバイトコードまたは下位レベルのファイルにコンパイルし、解釈用の拡張ツールを顧客に提供します。Swoole Compiler の場合、Zend 仮想マシンの解釈部分を魔法のように変更する可能性があります。他のセキュリティ対策を追加すると、その効果はさらに強力になる可能性があります。多くの既存のクラッキング ルーチンは無効になると推定されています。同時に、Swoole 自体は PHP の伝説的な Node.js であり、パフォーマンスが向上しているはずです。多くの最適化が行われたため、仮想化保護におけるパフォーマンスの損失が補われます
以上がコアのPHPコードを保護する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。