Generar de forma segura un archivo no log dentro de un servidor de aplicaciones

1

¿Cómo se puede escribir de forma segura un archivo temporal en una ubicación dentro de un servidor de aplicaciones que sea de acceso público?

    
pregunta Woot4Moo 01.03.2013 - 15:15
fuente

2 respuestas

1

Depende de "con seguridad". Si desea evitar el acceso de lectura o escritura de otros usuarios de la misma máquina, debe confiar en los derechos de acceso proporcionados por el sistema operativo (si el sistema operativo es hostil, entonces ya perdió). En sistemas similares a Unix, use la función mkstemp() , pero tenga cuidado de usar un sistema operativo donde los derechos de acceso se establecen sanely. Por ejemplo, con Linux , mkstemp() hace las cosas correctamente comenzando con glibc-2.07, pero las versiones anteriores hicieron que el archivo sea legible y escribible por todos los usuarios en la máquina, lo cual fue inconveniente (el problema se podría mitigar haciendo un fchmod() inmediatamente después, pero esto seguía siendo vulnerable a una condición de raza).

    
respondido por el Tom Leek 01.03.2013 - 16:42
fuente
0

Mi recomendación sería asegurar que este archivo temporal se escriba fuera de webroot. Esto garantiza que no se pueda acceder a él mediante una simple llamada del navegador web.

El resto depende del sistema operativo como Tom apunta.

    
respondido por el k1DBLITZ 01.03.2013 - 20:53
fuente

Lea otras preguntas en las etiquetas