Leí aquí enlace y la pregunta está relacionada con texto cerca
Sin embargo, si el atacante puede cargar archivos, incluso fuera de la raíz web, y conoce el nombre y la ubicación del archivo cargado, al incluir su archivo cargado puede ejecutar un código arbitrario en el servidor.
La solución para eso es evitar que el atacante sepa el nombre del archivo. Esto se puede hacer generando nombres de archivos al azar y manteniéndolos en una base de datos.
No entiendo completamente el riesgo de seguridad. Como entiendo
- el atacante carga un archivo malicioso
- En este momento, mi código php convierte el nombre del archivo en algo aleatorio y con ese nombre aleatorio se almacena en un directorio particular. Pero el usuario malintencionado puede ver ese nombre aleatorio, por ejemplo, haciendo clic con el botón derecho del ratón
Copy location
y verhttps://domain.com/images/2014-05-16/339442/VH4AGExjRlw=/something_random.jpg
. ¿Así que simplemente crear un nombre aleatorio no ayuda? - Como entiendo en mysql, ¿debe registrar el nombre real del archivo y el nombre que el usuario puede ver en url?
No puedo entender completamente. El objetivo es evitar que el usuario cargue el archivo y, a continuación, saber el nombre del archivo, ¿puede acceder al archivo?