php中文网内部视频禁止观看,如何禁止非会员用户访问视频/图片?

该博客探讨了如何避免将资源文件直接存放在公共目录下,以防止直接访问带来的安全风险。提出的方案包括通过PHP等后端语言作为统一入口来控制文件访问,使用乱码或MD5对文件名进行混淆,并在数据库中存储文件名映射,以防止文件名被猜测。同时,讨论了这种方法可能对服务器的影响以及CDN加速的可能性。
摘要由CSDN通过智能技术生成

容易想到的就一种:

将资源文件放到public目录之外,所有对这些资源的访问通过统一入口,比如:

http://xxx/file.php?video.mp3

这样做会对服务器造成很大压力吗?

有更好的方法吗?

请多多指教!

回复讨论(解决方案)

文件保存时打乱文件名,用乱码或者MD5这种东西

在数据库中保存用户id-原文件名-乱码文件名的对应关系,调用时通过原文件名,查询到乱码,然后提供下载,下载名设置成原名即可

文件保存时打乱文件名,用乱码或者MD5这种东西

在数据库中保存用户id-原文件名-乱码文件名的对应关系,调用时通过原文件名,查询到乱码,然后提供下载,下载名设置成原名即可

没太明白,下载时设置成原文件名不是和直接下载一样?是直接访问?

还有,如果用这种方法是不是就能用cdn加速?

PS:现在不能编辑自己的贴了?

文件保存时打乱文件名,用乱码或者MD5这种东西

在数据库中保存用户id-原文件名-乱码文件名的对应关系,调用时通过原文件名,查询到乱码,然后提供下载,下载名设置成原名即可

没太明白,下载时设置成原文件名不是和直接下载一样?是直接访问?

一个是重名问题,一个是不能让人猜到文件名...或者直接在服务器配置为拒绝web访问

除非你能做到让web服务器认识你的会员,不然只能这么做,效率问题我没测试过,用readfile应该是可以的,只要不是那种先一次读到内存再写入输出流的。你这么想,http访问文件,一样也是先经过了一层web服务器,损耗在所难免。

基于复杂文件名,只能防第一次,别人记录下来就可以二次使用了。

使用php去?取文件,文件放在非web能?取的目?,然後用php?出,在 php控制?限。

例如:?站的目?是 /home/www/

好吧,看样子都是这么做的

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值