防盗链使用过程中遇到的问题

简介: 防盗链使用过程中遇到的问题

工作中需要对音频和图片进行防盗链处理,数据存储使用第三方服务,在使用的过程中遇到的一些注意事项,特与大家分享。


防盗链的原理和应用场景

具体使用可参看此篇文章《防盗链》,里面已经详细的介绍了防盗链的原理及使用场景,和高级防盗链。这里就不再照本宣科。


具体使用中遇到的问题

项目中使用的是阿里云的OSS服务,官网和云服务采用的通信都是http的,这两天将自己的服务通过证书设置为https的请求。在设置之前,所有的资源都可以正确访问,但当设置为https之后,发现云服务上的资源无法访问了。


在网上搜索资料有以下解决方案:


将云服务防盗链中的规则设置为“允许referer为空”,很显然,这无法达到要求,因为一旦设置为空用户不传此内容便可轻易绕过防盗链。

在meta中设置referer,并将content内容设置为always,尝试了一下貌似没有效果。

统一采用https。其实云服务是同时支持http和https两种类型的请求,当时项目中的网络请求升级为https请求时,只需将云服务的请求也改为https即可。

其中最后一种方案相对来说在初级版本中完整的解决了问题。简单分析一下出现无法访问的原因吧。当项目中使用https,而云服务采用http时,浏览器为了安全,会强制将referer设置为空。因此,云服务无法提供内容展示。在这里有的解决方案走入误区:既然referer为空我就设置允许空不就可以了?这种误区容易导致,如果别人想利用你的资源,只需将网站升级为https即可无限制的使用你的资源。


目录
相关文章
|
存储 运维 安全
iOS加固原理与常见措施:保护移动应用程序安全的利器
iOS加固原理与常见措施:保护移动应用程序安全的利器
314 0
|
数据安全/隐私保护 开发者 CDN
CDN 防盗链设置| 学习笔记
快速学习 CDN 防盗链设置。
CDN 防盗链设置| 学习笔记
|
算法 生物认证 开发工具
Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing
你的应用程序收集的设备信息可能包括以下一些:attributesOfItemAtPath:error:, NSLocaleCountryCode, NSFileSystemSize, NSHomeDirectory,和serviceSubscriberCellularProviders。
645 0
|
9月前
|
Go 数据安全/隐私保护
Golang 里的 AES、DES、3DES 加解密,支持 ECB、CBC 等多种模式组合
Openssl encryption 是 OpenSSL 库的功能包装,支持对称加密算法(AES、DES、3DES)的 ECB 和 CBC 模式。提供简便的 Go 语言接口,用于加密和解密操作。安装命令:`go get -u github.com/forgoer/openssl`。示例代码展示了 AES-ECB、AES-CBC 等模式的使用方法,支持 PKCS7 填充。
204 98
|
负载均衡 算法 Java
SpringCloud之Ribbon使用
通过 Ribbon,可以非常便捷的在微服务架构中实现请求负载均衡,提升系统的高可用性和伸缩性。在实际使用中,需要根据实际场景选择合适的负载均衡策略,并对其进行适当配置,以达到更佳的负载均衡效果。
475 13
阿里云百炼,付费了也会超时吗?
讨论一下,阿里云百炼为啥回答问题会超时?付费了不应该一直算,算出来为止吗?反正都是用户花钱让算的。为啥要自己中途掐断计算?
|
9月前
|
JavaScript 关系型数据库 MySQL
基于VUE的校园二手交易平台系统设计与实现毕业设计论文模板
基于Vue的校园二手交易平台是一款专为校园用户设计的在线交易系统,提供简洁高效、安全可靠的二手商品买卖环境。平台利用Vue框架的响应式数据绑定和组件化特性,实现用户友好的界面,方便商品浏览、发布与管理。该系统采用Node.js、MySQL及B/S架构,确保稳定性和多功能模块设计,涵盖管理员和用户功能模块,促进物品循环使用,降低开销,提升环保意识,助力绿色校园文化建设。
|
12月前
|
Linux Shell 网络安全
Kickstart 自动化安装
Kickstart结合PXE技术实现Linux系统的自动化安装,适用于需批量部署一致版本的服务器场景,以减少重复劳动。通过搭建Kickstart+DHCP+NFS+TFTP+PXE架构,服务器可远程启动并下载安装配置。具体包括:配置TFTP服务以传输启动文件,设置PXE引导参数指向Kickstart脚本,利用DHCP分配IP地址。这种方式极大地提高了部署效率与一致性。
221 2
|
JavaScript 前端开发 索引
Vue3基础之v-if条件与 v-for循环
Vue3基础之v-if条件与 v-for循环
349 0
|
前端开发 关系型数据库 MySQL
使用 PHP 和 MySQL 实现留言板功能
使用 PHP 和 MySQL 实现留言板功能
471 0

热门文章

最新文章