Securing Apache and PHP-FPM


Securing Apache and PHP-FPM

给定

ProxyPassMatch ^/(.*'.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/$1

当一个假图像被上传到一个文件夹中,然后通过调用时,如何防止恶意代码执行

http://www.foo.bar/uploads/malicious.jpg/fake.php

如果我理解正确,上面的请求将让Apache将其传递给PHP-FPM,PHP-FPM将执行/uploads/malicious.jpg。

我知道我可以在上传文件夹中添加一个.htaccess文件来删除ProxyPassMatch,但这是我的客户不知道的,他们最终可能会被泄露。

自php 5.3.9以来,php fpm中有一个新设置"security.limit_extensions",它限制了php fpm将执行的文件。默认值为".php",因此不会执行"恶意.jpg"。