Из вашего php кода вы можете сделать это, как показано ниже
<a href="download.php" >Download File</a>
вашей загрузки. php
<?php
if($_SERVER["HTTP_REFERER"] === 'http://www.yourwebsite/yoururl') {
header('Content-Description: File Transfer');
header('Content-Type: application/force-download');
header("Content-Disposition: attachment; filename=\"" . basename($name) . "\";");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($name));
ob_clean();
flush();
readfile("your_file_path/".$name); //showing the path to the server where the file is to be download
exit;
} else {
echo "your can't download file.";
}
?>
с использованием .htaccess
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://www\.yourwebsite/yoururl/ [NC]
RewriteRule ^index\.php - [F]
Это отправит 403 Запрещено, когда кто-то перейдет по ссылке на ваш /index.php URL со ссылающегося сайта.
Всегда существует риск того, что браузеры не отправят HTTP реферер, если пользователь отключил это, но это должно работать в большинстве случаев.