为了提高安全性,我将配置 apache 来验证 php 脚本,这些脚本应该用我的密钥签名。可以吗?是否可以不提供未签名的文件?
答案1
本质上,Apache 和 PHP 依靠操作系统和文件系统级访问控制来保护文件、脚本和代码的完整性。
假设如果未经授权的用户绕过这些访问控制,您将面临更大的问题,不能指望系统知道已被篡改,而应该认为整个系统都受到了损害。(而试图保护文件、脚本和代码的完整性不受可信用户的侵害通常被认为是一种失败的做法。)
PHP 本身不支持代码签名我认为,这是因为这种技术在开源生态系统中并不能很好地发挥作用,而在封闭平台上会更加繁荣。
我记得当时的情况是这样的Zend Guard“是针对签名和加密的 PHP 的一个功能,它依赖于自定义的 PHP“模块”来允许加密的 PHP 运行。但它从未移植到 PHP 5.6 之后的版本。
目前据我所知有几种 PHP 编码器/混淆器,旨在使逆向工程和成功的代码更改更加困难,但没有任何东西等同于代码签名。