can't you just make the name of the file include a unique identifier of some
sort, or store each user's files in a different directory or something, to
make sure that they can't overwrite each other's (or their own) files?

Or would that not work in your app?

HTH

Beau

// -----Original Message-----
// From: Miguel Carvalho [mailto:[EMAIL PROTECTED]]
// Sent: Tuesday, 3 September 2002 5:35 PM
// To: [EMAIL PROTECTED]
// Subject: [PHP-DB] External file integryti check
// 
// 
// Hi, id'like to know the opinion about to ensure external 
// file integrity.
// 
// Scenario: A web application that uses binary files( images, PDF's ).
// On the database ( postgresql 7.2.2 ) i store the filename of 
// the files.
// 
// The files ( images only ) are taken from an internal machine 
// when needed(
// via ftp ) or automatically at idle periods.If the image 
// comes throuth ftp( requested by a user ),
//  the image is downloaded to a temporary directory, a record 
// is inserted
//  into the database and the file get's moved to the final 
// directory if it
//  passed some tests.If no image is requested by a user, a 
// script will download( rcp ) at night
// the files and then put those in the final directory.When a 
// user request's a PDF, i create the PDF in realtime, using info.
// stored in the DB plus the image( store on filesystem ).
// My concern here is the folowing:
//   let's imagine that an image file is overwriten with a new image( by
//   mistake ). This is possible because users use some kind of 
// ID to name
//   the file. If this appens, the info stored in DB is out of sync in
//   relation to the file stored in filesystem.
//   To correct this issues i have three possibilities:
// 
//     1 - Store the PDF's in the filesystem, and store the 
// file date, time
//     and    CRC32 of the entire file in the database. This 
// solution has a
//     consequence... i will need lots of space in the server( 
// each file is
//     aprox. 2MB ).      At night a script will validate the 
// sync between the info stored in
//       DB and the info on filesystem.
//     2 - Create the PDF when requested. When the PDF generated for the
//     first time, i will store: image creation date, time, 
// crc32 and some
//     more dates, times and CRC32's of other information into 
// the DB.      At night a script will validate the sync 
// between the info stored in
//       DB and the info on filesystem.
//     3 - Run a script that is change file permissions( file 
// is created with
//     user owner of webserver) for those new records inserted 
// to root.      A script will be run, because i cant change 
// ownership of a file on
//       the fly with PHP( PHP security ).
// Those are my solution's, if any one has any comments or suggestion's
// please  share it with us.Thank's
// Miguel Carvalho
// 
// 
// 
// -- 
// PHP Database Mailing List (http://www.php.net/)
// To unsubscribe, visit: http://www.php.net/unsub.php
// 

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

Reply via email to