在parsing它们之前,Apache中是否有一个选项来检查PHP文件是否存在恶意代码?

基本上,我希望Apache在parsing它们之前检查某些模式的PHP文件。 如果这些PHP文件匹配模式,我想发送其他更换回给用户。

有没有办法做到这一点?

不,没有办法做到这一点。

如果您的用户尝试部署恶意代码,则可能会考虑获取新用户。

你在这里的用例是什么? 代码审查应完全在此过程之外进行。


关于您的下面的评论一些额外的想法:

  1. 如果你认为可能有一个自动的“病毒扫描器”types的方式来做到这一点,你会感到失望。
  2. 如果你认为匹配一些简单的正则expression式就足够了,你也会失望的,因为你需要匹配的正则expression式的数量几乎是无限的。
  3. 你可以做的最好的事情就是build立你的共享主机服务器,尽可能的安全 – 隔离每个客户在他们自己的容器中,或许这样做,他们所做的任何损害都只限于他们自己的账户,不能超出这个范围。

预警:我很怀疑为什么你有这个问题开始。 如果您认为潜在的恶意代码可能放在apache服务的目录中,您可能需要重新考虑当前的Web服务器设置。

据说,你可以使用PHP的disable_functionsconfiguration 。 函数可能要禁用:

  • EXEC
  • 系统
  • 了shell_exec
  • POPEN
  • 于allow_url_fopen
  • allow_url_include

一个sloppier解决scheme将删除符合正则expression式的PHP文件:

 find /var/www -iname '*.php' | xargs egrep -l '(eval|system)\(' | xargs rm 

没有testing,但当然,你应该拿出你自己的命令,并有信心,在实施之前就明白了。

我认为你想要完成什么你应该看看mod_security 。