セキュリティを強化するために、自分のキーで署名されている PHP スクリプトを検証するように Apache を設定します。これは可能ですか? また、署名されていないファイルを提供しないようにすることは可能ですか?
答え1
本質的に、Apache と PHP は、ファイル、スクリプト、コードの整合性を保護するために、オペレーティング システムとファイル システム レベルのアクセス制御に依存しています。
ここでの前提は、これらが権限のないユーザーによってバイパスされた場合、より大きな問題が発生すること、システムが改ざんされたという事実を認識することを当てにできないこと、システム全体が危険にさらされていることを考慮する必要があることです。(そして、信頼できるユーザーからファイル、スクリプト、コードの整合性を保護しようとする試みは、通常は失敗に終わると考えられています。)
PHPにはネイティブサポートがありませんコード署名なぜなら、それはオープンソースのエコシステムではうまく機能せず、クローズドプラットフォームでより繁栄する種類のテクノロジーだからだと私は予想しています。
記憶が正しければ、昔は「ゼンドガード「」は、署名および暗号化された PHP 用のもので、暗号化された PHP を実行するためにカスタム PHP「モジュール」に依存していました。しかし、これは PHP 5.6 以降に移植されることはありませんでした。
現在、私の知る限り、リバース エンジニアリングやコード変更を困難にするように設計された PHP エンコーダー/難読化ツールはいくつかありますが、コード署名に相当するものはありません。