Apache/PHP:仅强制执行已签名代码(或已知MD5)

Apache/PHP:仅强制执行已签名代码(或已知MD5),php,apache,security,code-signing,Php,Apache,Security,Code Signing,只是想加强我们的Apache/PHP服务器安装,并考虑一种通用方法。当php代码被“签名”或散列和(如MD5)已知时,是否可以创建一个配置,使其仅在执行时执行 有人有什么建议吗?请稍等一下:我在这里根本不推荐MD5 也就是说,支持通过OpenSSL进行代码签名。这在中使用(请参阅:random\u compat.phar和random\u compat.phar.pubkey;.asc文件是.pubkey文件的GPG签名) 我们用于生成签名Phar的代码位于此处。这实际上是Apache模块的一个

只是想加强我们的Apache/PHP服务器安装,并考虑一种通用方法。当php代码被“签名”或散列和(如MD5)已知时,是否可以创建一个配置,使其仅在执行时执行


有人有什么建议吗?

请稍等一下:我在这里根本不推荐MD5

也就是说,支持通过OpenSSL进行代码签名。这在中使用(请参阅:
random\u compat.phar
random\u compat.phar.pubkey
.asc
文件是
.pubkey
文件的GPG签名)


我们用于生成签名Phar的代码位于此处。

这实际上是Apache模块的一个好主意,但我认为Apache(或我知道的任何其他服务器)目前无法做到这一点。一些问题显然是签名密钥的密钥管理(如何以及在何处存储签名密钥和文件签名)和性能(Apache需要检查每个请求的签名,这在计算上非常密集)。但我真的很喜欢这个主意。(MD5也不适用于此,但这只是一个技术细节。)@GaborLengyel我认为这应该是一个PHP模块。除了可以与NGINX或CLI(或禁止-IIS)一起使用外,它还可以与OPCache系统集成以缓解性能问题—只有在缓存更新时才会执行签名检查,并且只有有效代码才会加载到缓存中。一个简单的临时逻辑工具可以通过directiveWell实现,您可以使用ioncube加载程序(www.ioncube.com/)加密php代码。它可以防止未经授权的php代码更新。还可以编写自定义php脚本,将php页面的当前哈希与已知有效的存储哈希进行比较。