Linuxサービスをphpで記述し、HIPHOPでコンパイルしたいと思います。プロジェクトをphpで開始し、c ++プログラマーなどを雇う代わりに、すべてのプログラミングを社内で行うことができたので、phpに固執したいと思います。デーモンは監視を行っているだけなので、実行速度は(それほど)関係ありませんが、コードを閉じて難読化したいと思います。デーモンは、ネットワーク通信とデータベースへのログ記録を行います。これは実行可能なルートですか?別の投稿で、すべてのphp機能が実装されているわけではないため、プログラミングではヒップホップに特別な注意が必要であると誰かが説明しました。これはまだ当てはまりますか?私たちのアイデアについてのあなたの全体的な意見をここに示したいと思います。
1 に答える
HIPHOPは扱いにくい獣です。これは非常に限られているため、特にアプリケーションとそれが展開される場所によって異なります。現在、64ビットアーキテクチャでのみ動作することを忘れないでください。したがって、32ビットマシンにデプロイしたい場合は、すぐに泥沼に陥ります。
アプリケーションの性質によっては、Linuxディストリビューションごとにさまざまなバイナリを構築する必要がある場合があります。HipHopはFedoraとCentOSでのみうまく機能するため、スコープを大幅に制限しています。PHPインタープリターから離れると、オペレーティングシステム間の互換性が非常に大きく失われます(考えてみてください:Windows、事実上すべてのLinux、すべての主要なBSDディストリビューションなど)。
また、コードをどの程度「難読化」したいかはわかりません。ネットワークコールなどを行い、それらも非表示にしておきたい場合、パケットスニファは、外部との通信方法を非常に簡単に正確に確認できます。
同様に、デバッガーと適度に熟練したプログラマーは、あなたが知っているよりも大幅にバイナリーをリバースエンジニアリングすることができます。
ZendEncoderやIonCubeEncoderなどの代替手段を検討することをお勧めしますが、これらは無料ではありません。あなたが調べたいと思うかもしれない他のエンコーダーもそこにあります。
「監視」以外に何をしているのかよくわからないので、はっきりとは言えません。ただし、2番目のオプションは、クライアントマシンで実行されているコードの量を厳しく制限し(サーバーマシンにレポートしていると想定)、全体的な制御で想定されているサーバーマシンに、より多くの処理を処理させることです。可能な限り。
繰り返しになりますが、アプリケーションの性質と展開先に大きく依存するため、テストして自分でアイデアを検討することをお勧めします。(そして多くの人にとって、「展開する場所」のようなものは急速に変化する可能性があります)。HipHopは、非常に狭い範囲で作成されました。PHPコードをできるだけ速く実行します。OSとCPUアーキテクチャ間で柔軟性や互換性が高くなるようには設計されていません。これに依存する大規模なアプリケーションを作成する前に、これを考慮してください。また、HipHopを使用することのすべての影響を完全に理解していることを確認してください。テスト、テスト、テスト。