Es en si lo que dije, a menos que uses un include() o que valides mal la imagen esta se va a ejecutar, por lo que regreso al punto de que depende justo del programador esa validacion.
Lo mejor a mi parecer es hacer lo que dice, tener el directorio de upload fuera del arbol de WebRoot y pasarlas por un proxy en PHP para desplegarlas.
Saludos