FULLPATH EN $_FILES
Una de las novedades de la versión 8.1 de php es que se ha añadido el índice fullpath en $_FILES cuando se va a subir un fichero, o varios, al servidor.
Supongamos que en nuestro ordenador local tenemos la siguiente estructura de archivos:
directorioPadre
├── directorio1
│ └── fichero1.txt
└── directorio2
└── fichero2.txt
Si tenemos maquetado el formulario para subir varios ficheros al servidor y subimos los dos ficheros mostrados en el ejemplo y hacemos var_dump($_FILES); veremos lo siguiente:
array(1) {
["nombreCampoFile"]=> array(6) {
["full_path"]=> array(2) {
[0]=> string(19) "directorioPadre/directorio1/fichero1.txt"
[1]=> string(19) "directorioPadre/directorio2/fichero2.txt"
}
// ...
}
}
Php solo analiza la información de la ruta relativa enviada por el navegador/user-agent y pasa esa información al array $_FILES. No hay garantía de que los valores en el array full_path contengan una estructura de directorio real, y las aplicaciones php no deben confiar en esta información.
Las aplicaciones que aceptan la carga de un directorio y almacenan los archivos según los valores de la ruta completa deben asegurarse de que la información de la ruta completa se valide correctamente antes de mover los archivos cargados a un directorio anidado. Compartir en twitter