My reasoning is that .php files already have an implicit handler built in to Apache, which tells the server to interpret the code as php
Até onde eu sei, não há manipulador implícito, este comando AddHandler
é o que diz ao apache para passar arquivos com uma extensão .php
para o manipulador application/x-httpd-php
(mod_php)
No geral, você está correto. É (aparentemente) uma característica pouco conhecida de mod_mime
que arquivos com múltiplas extensões têm TODAS as suas extensões examinadas para manipuladores e outras informações. A documentação do Apache sugere que essa diretiva seja substituída por:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
para passar apenas os arquivos que terminam em .php
para esse manipulador.
A melhor solução, no entanto, seria armazenar arquivos não-enviados pelo usuário não confiáveis fora de DocumentRoot
, onde os navegadores não podem solicitar script.php.jpg
(ou enviar links para http://www.example.com/uploads/thisisreallyyourbank.html
)