Como sabemos, la carga de un archivo ejecutable no es segura. Pero si cambiamos la extensión del archivo exe a txt, entonces el archivo se carga. ¿Cómo prevenir esto?
Puede no bloquear la carga de archivos ejecutables. Eso es, no hay forma de evitarlo . Sin embargo, puede cambiar la forma en que piensa de los archivos cargados.
Lo primero que debe hacer es saber dónde sus usuarios suben archivos y luego bloquear ese directorio. Si está utilizando Apache, puede evitar que solicite ejecutar archivos en un directorio determinado agregando lo siguiente a su http.conf
.
<Directory "/var/www/my-upload-dir">
AllowOverride None
Options -ExecCGI
</Directory>
Otras cosas que puede hacer incluyen usar nombres aleatorios para los archivos una vez cargados, solo servir los archivos a través de un script proxy y almacenar los archivos sobre la raíz de su documento.
Finalmente, una cosa muy importante es que nunca include
, use
o import
ningún archivo subido por el usuario.
Lea otras preguntas en las etiquetas file-upload