為了更好的安全性,我將配置 apache 來驗證 php 腳本,該腳本應該使用我的金鑰進行簽署。是否可以?是否可以不提供未簽署的文件?
答案1
本質上,Apache 和 PHP 依靠作業系統和檔案系統層級存取控制來保護檔案、腳本和程式碼的完整性。
假設如果這些被未經授權的使用者繞過,你就會遇到更大的問題,不能依賴系統意識到被竄改的事實,並且應該考慮整個系統受到損害。 (試圖保護文件、腳本和程式碼的完整性,防止受信任的用戶訪問,通常被認為是失敗的提議。)
PHP 沒有任何本機支援程式碼簽名,我預計,因為這種技術在開源生態系統中並不能很好地發揮作用,而在封閉平台中卻能蓬勃發展。
IIRC 回到過去”Zend 守衛「是簽名和加密的 PHP 的東西,它依賴自訂 PHP「模組」來允許加密的 PHP 運行。但這從未移植到 PHP 5.6 之後。
目前,據我所知,有幾種 PHP 編碼器/混淆器旨在使逆向工程和成功的程式碼更改更難實現,但沒有等同於程式碼簽署的。