I am writing a web application in php where users can upload their own files or images, but how can I protect these files from being accessed by others other than the owner
use unique and special file names, and only present them to the disired user. you can alsso set a session in PHP and check if the session is correcvt to include a file. and use httacces tio redirect to the PHP.
sessuion_start();
file_exists($_SESSION['specialkey']_$_GET['realfilename']){
include(/* include the file */); // or readfile
//or header location, but then the rteal URL will become visible
}else{
die('acces denied');
}
the specialkey is set in the PHP page making the display page, and is unique for evey file and is gained from DB. it's the fastest way I could ciomme up with.
you might olso want to store the files in a dir that is only accesable from PHP
edit instead of include you could use Jani Hartikainen method