嗯,我有一个小问题。我基本上拥有一个文件共享网站,并且在人们热链接文件方面遇到问题
我试过 .htaccess 没有运气,因为我想将热链接重定向到实际文件所在的下载页面。
我见过其他网站这样做,但我很困惑他们是如何做到的。
有些人使用 cgi-bin 脚本,但我同样不确定这是如何完成的。
有谁知道最好的做法是什么?
您可以编写一个脚本来读取网络服务器上的文件并将数据输出到客户端。在该脚本中,您可以通过检查$_SERVER['HTTP_REFERER']
值来验证来源。
输出文件的小例子:
<?php
$filename = "file";
$filesize = filesize($filename);
$handle = fopen($filename, "r");
$data = fread($handle, $filesize);
header("Content-type: application/zip");
header("Content-length: " . $filesize);
header("Content-disposition: inline; filename=" . $filename);
echo $data;
fclose($handle);
?>
很简单。永远不要让用户看到实际文件的实际路径。相反,通过 php 脚本将其提供给他们,并检查会话以确保他们在提供文件之前完成了询问必要的步骤。