L'amministratore può fare qualsiasi cosa . Se l'amministratore è il tuo nemico, allora hai perso. Può copiare i tuoi file preziosi indipendentemente da dove li metti; può anche solo leggere i contenuti della RAM del tuo processo PHP direttamente.
Se l'amministratore è tuo amico, i tuoi prossimi nemici sono altre persone che hanno una qualche forma di accesso alla stessa macchina, ad es. utenti normali (non amministratori) della macchina e / o altri script PHP in esecuzione sullo stesso server. Il tmpfile
di PHP si basa (almeno sui sistemi Unix-like) sulla funzione tmpfile()
fornita dal sistema operativo (in realtà una funzione di libc). Se usi Linux, sei fortunato: che l'implementazione specifica crea il file con un nome casuale in /tmp
e lo elimina immediatamente . Come per semantica Unix, il file esiste ancora (ci vuole un po 'di spazio nel filesystem) ma il nome viene distrutto, impedendo qualsiasi accesso da parte di altri utenti.
Potresti avere ancora paura degli altri script PHP, se questi sono ostili e il motore PHP non è adeguatamente vincolato, perché questi script vengono eseguiti con lo stesso account del tuo (l'account a livello di sistema operativo, ovvero l'utente Unix che esegue il server Web) e quindi può accedere al file da un collegamento in /proc
. Ma è piuttosto estremo; se persone distinte, potenzialmente ostili tra loro, possono aggiungere i propri script PHP allo stesso server senza isolamento tra loro, quindi c'è qualcosa di molto sbagliato nella struttura del server e l'amministratore non sta facendo il suo lavoro.