如何对文件下载进行控制? nginx中,假设文件的真实地址泄露了,是否有方法可以对直接访问真实地址进行控制呢?例如:输入http://www.qq.com/qq.rar,以这种方式访问文件的话,能否先判断访问者的权限再判断是否让下载呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Nginx防盗链详细设置http://www.inginx.com/nginx-referer-configure/ 比较简单的方式是检测http包中的refer,如果refer不来自本站点,就返回403,上面的朋友应该是那个方法。但是比较容易造假包,也可以在程序中检测用户身份,不过需要额外的编码。 防盗链并不能满足我的需求。防盗链不能对直接在浏览器输入真实地址进行控制吧?例如:我有一个文件qq.rar,放在www.1.com的download目录下。别人要是知道了这个存放路劲(先别管怎么知道的),那么直接在浏览器里面输入:http://www.1.com/download/qq.rar就可以进行下载了,防盗链是起不了作用的。 防盗链一般都在服务层,怎么不起作用呢?只要是http访问,不管用什么软件,总要经服务器的http服务吧?如果连http服务都绕开了,已经是黑客行为了如果实测不起作用,只能说防盗链的判断没写好 能否先判断访问者的权限再判断是否让下载呢?那你就只能通过帐号和目录权限的方式来限制了.简单一点 直接FTP协议 这样你看行不行?对所有的下载文件设一个目录,设置一个文件down.php?id=XXXXX,然后在这个文件里面输出要被下载的文件.文件所在的目录名字每天换一次.这样即使被记录了,那也就是一天呀... apache auth_mysql 模块对下载目录进行控制 按照1楼的帖子设置之后,确实可以使用在浏览器输入真实地址的方式访问。但是如果自己新建一个HTML,在里面写一个链接到该真实地址的话,防盗链就起作用了。因此,我并不是说防盗链不行,而是不符合我的需求。另外,我已经自行解决了这个问题了,感谢各位的热心回答。用的是nginx的rewrite把文件存放的真实地址跳转到我指定的php,然后进行处理。如此的话就无法通过直接输入地址的方式访问了。 正则,请教 deny from 58.24.0.0/15 是什么意思哦 急急 各位大虾好!!如何防止网站里的数据文件被别人下载 如何取会员当前浏览的位置 怎么在PHP页面面引入模板文件.TPL,我需要做个提交表单到数据库,引入模板后,就不需要.html进行提交! php strpos的问题? 现在遇到一个问题,高手请进来帮帮我把!!!!! 什么php函数可以刷新页面? 对与下拉选框中怎样让一个选框的选择而动态生成另一个选框中的数据 php分页查询pdo bindParam参数化 强制转换的问题 一个"No database selected"的问题 字符串的循环问题
http://www.inginx.com/nginx-referer-configure/
如果连http服务都绕开了,已经是黑客行为了如果实测不起作用,只能说防盗链的判断没写好
那你就只能通过帐号和目录权限的方式来限制了.简单一点 直接FTP协议
这样你看行不行?
对所有的下载文件设一个目录,
设置一个文件down.php?id=XXXXX,
然后在这个文件里面输出要被下载的文件.
文件所在的目录名字每天换一次.这样即使被记录了,那也就是一天呀...
对下载目录进行控制
按照1楼的帖子设置之后,确实可以使用在浏览器输入真实地址的方式访问。但是如果自己新建一个HTML,在里面写一个链接到该真实地址的话,防盗链就起作用了。因此,我并不是说防盗链不行,而是不符合我的需求。另外,我已经自行解决了这个问题了,感谢各位的热心回答。用的是nginx的rewrite把文件存放的真实地址跳转到我指定的php,然后进行处理。如此的话就无法通过直接输入地址的方式访问了。