El administrador puede hacer cualquier cosa . Si el administrador es tu enemigo, entonces has perdido. Él puede copiar tus archivos preciosos sin importar dónde los pongas; Incluso puede leer directamente los contenidos de RAM de su proceso PHP.
Si el administrador es tu amigo, tus próximos enemigos son otras personas que tienen algún tipo de acceso a la misma máquina, por ejemplo. usuarios normales (no administradores) de la máquina y / u otros scripts PHP que se ejecutan en el mismo servidor. El tmpfile
de PHP se basa (al menos en sistemas similares a Unix) en la función tmpfile()
proporcionada por el sistema operativo (en realidad, una función libc). Si usa Linux, tiene suerte: esa implementación específica crea el archivo con un nombre aleatorio en /tmp
y lo elimina inmediatamente . Según la semántica de Unix, el archivo todavía existe (toma algo de espacio en el sistema de archivos) pero el nombre se destruye, prohibiendo el acceso de otros usuarios.
Es posible que aún tenga que temer a otros scripts PHP, si son hostiles y el motor PHP no está correctamente restringido, porque estos scripts se ejecutan con la misma cuenta que la suya (la cuenta a nivel del sistema operativo, es decir, el usuario de Unix que se ejecuta el servidor web) y, por lo tanto, puede acceder al archivo desde un enlace en /proc
. Pero eso es bastante extremo; Si personas distintas, potencialmente hostiles entre sí, pueden agregar sus propios scripts PHP al mismo servidor sin aislamiento entre ellos, entonces hay algo muy incorrecto en la estructura del servidor y el administrador no está haciendo su trabajo.