¿Puedo confiar en el tipo de archivo desde $_FILES
al subir imágenes? ¿O debo verificar nuevamente con exif_imagetype()
?
Respuesta
Desde el documentation:
El tipo mime del archivo, si el navegador proporciona esta información. Un ejemplo sería "image/gif". Sin embargo, este tipo de mimo no está verificado en el lado de PHP y, por lo tanto, no da su valor por sentado.
siempre uso la siguiente función para comprobar en las imágenes válidas:
function Check_Image($Filename) {
if ($Check_Image = @getimagesize($Filename)) {
return TRUE;
}
return FALSE;
}
Nunca confíes en todo lo que viene del exterior, especialmente la carga de archivos!
¡Compruebe el tamaño, la ubicación, el mimo/tipo, la extensión y cualquier otra cosa que pueda verificar!
¿Pero el tipo viene del exterior? ¿O es algo agregado por php? – HappyDeveloper
El navegador lo proporciona, no confíe en él. –
@Wesley van Opdorp estuvo de acuerdo, también verifique * los contenidos * si puede. – Cheekysoft
No, no puede confiar en él porque this information is provided by the client browser.
$_FILES['userfile']['type']
El tipo mime del archivo, si el navegador dieron esta información. Un ejemplo sería "image/gif". Sin embargo, este tipo de mimo no está verificado en el lado de PHP y, por lo tanto, no toma su valor como garantizado.
No, no puede confiar en la variable $_FILES['userfile']['type']
. El valor presente en esta variable podría ser forjado. Se puede utilizar para detectar finfo_file
tipo de archivo de forma más fiable:
$finfo = finfo_open(FILEINFO_MIME_TYPE); // we need mime type
echo finfo_file($finfo, "/path/to/uploaded/file"); // displays something like image/gif
finfo_close($finfo);
Estas funciones requieren PHP> = 5.3.0.
- 1. ¿Puedo confiar en mod_rewrite?
- 2. PHP - Looping a través de $ _FILES para verificar el tipo de archivo
- 3. ¿Cómo puedo usar getimagesize() con $ _FILES ['']?
- 4. ¿Puedo confiar en que malloc devolverá NULL?
- 5. ¿Deberíamos desinfectar $ _FILES ['filename'] ['name']?
- 6. $ _FILES vacía al cargar
- 7. ¿Puedo confiar en las variables de mi entorno?
- 8. jQuery - recibir la matriz $ _FILES utilizando $ .post
- 9. cómo comprobar el tipo de archivo subido es PDF
- 10. ¿Cómo puedo obtener el contenido del archivo cargado en php?
- 11. ¿Dónde están mis $ _FILES? Carga de Ajax
- 12. $ _FILES ¿No funciona?
- 13. ¿Cómo puedo saber el tipo de archivo usando Boost.Filesystem?
- 14. PHP $ _FILES ['file'] ['tmp_name']: Cómo conservar el nombre de archivo y la extensión?
- 15. ¿Cómo recorre la matriz $ _FILES?
- 16. Obtener el tipo de archivo en Cocoa
- 17. Determine el tipo de archivo en Ruby
- 18. ¿Cómo limitar el tamaño del archivo de tipo de carga de archivos en PHP?
- 19. Recolección de basura, ¿debemos confiar en ella?
- 20. Compruebe el tipo de archivo de imagen y tamaño antes de la carga de archivos en php
- 21. ¿Se puede confiar en jQuery?
- 22. Finfo_file el archivo cargado para determinar tipo MIME
- 23. ¿Qué significa exactamente cuando $ _FILES está vacío?
- 24. PHP $ _FILES múltiples archivos problema al subir
- 25. Averigüe el tipo de archivo real
- 26. ¿Es factible confiar en setlocale y confiar en las configuraciones regionales instaladas?
- 27. Error de tipo de archivo desconocido con el archivo .pyx
- 28. En Android, ¿cómo puedo mostrar un selector de aplicaciones según el tipo de archivo?
- 29. ¿Puedo confiar en que el reloj del dispositivo iOS sea correcto?
- 30. Cómo restringir el tipo de archivo en el control FileUpload
perfecto, gracias – HappyDeveloper