这是一个创建于 4068 天前的主题,其中的信息可能已经有所发展或是发生改变。
现阶段情况:
用户所有的下载请求都由download.php来处理,记录下载次数以及其他一些信息处理,然后使用
header ('Location: xxx') 跳转到文件真实地址。
效果:
简单粗暴,但同时用户也能轻易直接拼接一个URL访问该文件,而不用经过download.php,更可恶的是有爬虫无休止地爬(明明那个文件早就删除了,还是一直请求)。
想要解决上述问题,有两种想法,一是把资源所在文件夹放在http不可访问的地方,然后在download.php内使用readfile()之类的方法来读取,但是处理大文件的时候怕内存吃不消。
二是用.htaccess 限制referer,但是这个用起来更加不灵活,因为无法在服务器端设置referer(要不然用cURL?),且referer也能轻易被伪造。
不知道有没有比较好的解决方法?
1 条回复 • 1970-01-01 08:00:00 +08:00
|
|
1
iodragon 2013-10-31 13:04:20 +08:00
xsendfile
|