On Tue, 2005-02-15 at 14:00, Richard Lynch wrote:
> Matt M. wrote:
> >> I have a database that contains encrypted data using Mysql function
> >> ENCODE(). Certain users will be allowed to view this data and I will
> >> allow
> >> them to download a CSV file contain the decrypted data using the Mysql
> >> DECODE() function. However I don't want this file to be left on the
> >> server,
> >> is there a way to ensure that the file is deleted immediately after it
> >> has
> >> been downloaded?
> >
> > http://us4.php.net/unlink
> 
> PS If the data is REALLY sensitive, you may want to look into command line
> tools to actually ERASE the data instead of just doing unlink.
> 
> 'unlink' only nukes the directory information to find the file.  The file
> contents still exist, intact, and there are tools to mine un-linked files
> to find content.
> 
> Hard Drive forensics experts can even manage to retrieve over-written
> files based on some very very very expensive/hard analysis of the magentic
> fields -- Sort of like reading through scratched out stuff on paper by
> holding it up to the light, only a lot more technical and a lot more
> expensive...  It's unlikely you need to worry about *THAT* though, as I
> understand it...
> 

As Richard pointed out the unlink will leave the data on the disk but
simply remove the directory pointers to it.  If physical security of the
box is an issue then overwriting the file with random data and then
unlinking it might be a decent solution.  If a file is opened for
writing I suspect it depends on the operating system as to whether the
same disk blocks are used so overwriting a file might not actually over
write the data on the disk.  It should, however at least change the
directory entry enough that someone with access to the box will not be
able to use a simple undelete utility to retrieve the file.

Bret

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to