关于防止盗链的技术

stan23 2004-03-29 12:36:25
如果没有服务器方面的权限支持,如何用PHP防止盗链,甚至只给特定的USERS下载?
我考虑了2个方案:
1、通过PHP输出文件内容
上传文件时动态得命名,并保存在数据库中,会员下载时先通过会员系统验证身份,然后从数据库中提取文件名,通过PHP读取文件内容并输出。
这样做可以避免用户知道真实的文件名。 但如果文件非常大,而且PHP文件有运行时间限制的话不知还能否管用。

2、动态更改文件名
就是每次下载之前都更改下载文件的文件名(随即),同样能达到效果。
但我的疑虑同样是,文件较大或者下载的人很多时,文件在被其他用户打开的情况下更改名字是否会出现问题,这个问题在LINUX和NT下应该是不同的……

请各位谈谈自己的看法……
...全文
206 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
unixdotnet 2004-09-28
  • 打赏
  • 举报
回复
http_referer也可以伪造

人家访问你就是承认你
mrshelly 2004-09-28
  • 打赏
  • 举报
回复
APACHE 目录认证.

.htaccess
黑猫紧张 2004-09-28
  • 打赏
  • 举报
回复
用session或页面来源判断..
foxmx 2004-09-28
  • 打赏
  • 举报
回复
一般用php来做这个

if (!stristr( $_SERVER['HTTP_REFERER'],'csdn.net')){//如不是从csdn进来的
//搞死它的code
}
hahawen 2004-09-28
  • 打赏
  • 举报
回复
http_referer
www0aspsun0com 2004-09-28
  • 打赏
  • 举报
回复
那象我这样的有多个服务器,FTP,HTTP下载混合的,主站和下载服务器不在一起的怎么防盗链,我只能手工修改路径。
countstars 2004-09-28
  • 打赏
  • 举报
回复
不实际啊楼上的,你怎么判断人家下载完了再去改名呢?而且改名也不定成功,如果多个人下载那?这些我都做过了,基本会出现问题的
anybody999 2004-09-28
  • 打赏
  • 举报
回复
可以用代理先过滤一遍user
以前这么干过,方法是可行的 连 http地址都看不见
前提条件是一个“好的代理”最好在公司自己架一个专门用于你的要求;
ImN1 2004-09-28
  • 打赏
  • 举报
回复
我前几天才问过相同的问题,先缺条件是.htaccess没权改,上传一个也不管用
http_referer都没用的,连下载工具都可以发送http_referer,更何况有心来盗
应该网 2004-09-27
  • 打赏
  • 举报
回复
每下载一次改名是个不错的想法啊,将文件名直接存在DB里面,每次下载后直接md5(time()),update DB,exec('mv $originalFileName $newname'),虽然不能绝对的防止盗链,但也基本符合要求


想得确实不错.
countstars 2004-09-26
  • 打赏
  • 举报
回复
上次唠叨老大说的fopen方法很好:

$fp = @ fopen($downloadLink, 'r')
while (@ !feof($fp))
{
echo fread($fp, 1024);
}
header(...)
screend 2004-09-26
  • 打赏
  • 举报
回复
每下载一次改名是个不错的想法啊,将文件名直接存在DB里面,每次下载后直接md5(time()),update DB,exec('mv $originalFileName $newname'),虽然不能绝对的防止盗链,但也基本符合要求
多菜鸟 2004-09-25
  • 打赏
  • 举报
回复
只要这个能运行PHP就可以了吧。不用什么特别的权限的。
stan23 2004-03-29
  • 打赏
  • 举报
回复
可能2楼没理解我的意思,我是说“如果没有服务器方面的权限支持”~
多菜鸟 2004-03-29
  • 打赏
  • 举报
回复
海娃这个地址我用过,很不错的。使用也很方便。
51windows 2004-03-29
  • 打赏
  • 举报
回复
参考一下这个

http://www.21code.com/antiouterlink/index.php

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧