我正在用PHP开发一个在线视频销售网站。要下载特定视频用户支付特定金额,然后我提供下载视频的链接。我使用以下代码为用户提供下载链接。
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
我已将所有视频存储在特定文件夹中。如何阻止用户阻止用户无法浏览该视频文件夹而无法免费下载视频。或者无法抓住网站并下载所有内容。
答案 0 :(得分:5)
将文件夹保留在服务器的DocumentRoot之外,因此只能通过脚本访问文件。
答案 1 :(得分:1)
您可以使用htacess将该文件夹设为Forbidden,其中包含媒体文件。
RedirectMatch 403 ^.*/sub/folder/index\.php$
(OR)
<Directory full-path-to/USERS>
Order Deny,Allow
Deny from All
</Directory>
答案 2 :(得分:0)
在数据库中存储用户购买的文件,并在下载脚本中运行检查,如果允许该用户下载该文件,则不会重定向。