如何在网页上播放音乐,让用户获取不到音乐的地址?

发布于 2022-09-07 15:51:38 字数 86 浏览 26 评论 0

如何在网页上播放音乐,让用户获取不到音乐的地址?

要在手机和电脑网页上都可以播放。

主要是为了保护版权,防止用户获取到原音频。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

似最初 2022-09-14 15:51:38

你要不想被别的网站盗链,那么后台做防盗链就好了。如果你不想用户下载,前端还真的没啥好的措施,即使隐藏也会被软件嗅探出来的。除非你用blob对象、然后分段传输,十几秒验证这样咯,手笔太大了。慕课网的视频就是这种做法,但还是会被软件给嗅探到,只不过下载下来,都是十几秒的短视频,通过合并,还是可以得到完整的视频的。刚刚还特意去查了网页版酷狗,竟然没有做防盗链!!!

刚刚去看了下网易云的实现,页面是没有<audio>标签的,真的很困惑它是怎么播放的。后来发现,直接用js生成<audio>标签,不用插入到body中,然后也是可以播放的。这样至少普通用户是发现不了了。

佼人 2022-09-14 15:51:38

前端没啥好的方法,主要采用防盗链。。。目前各大公司的xxx云都可以

我早已燃尽 2022-09-14 15:51:38

兄dei,DRM了解下?

江心雾 2022-09-14 15:51:38

DRM,直接下载播放不了

彡翼 2022-09-14 15:51:38

关于DRM,查了一下,在技术实现上完全没有头绪。


经过权衡,最终还是决定采用防盗链来实现需求,主要从以下两个方面防止音频被盗取:

1. 将音频文件存储在七牛云私有空间,token有效期为1小时。

也就是音频的访问链接1小时就会失效,防止音频链接被采集下来进行批量爬取。

2. 音频链接设置防盗链,不允许空referer

设置防盗链且不允许空referer,防止在浏览器地址栏直接访问音频链接进行下载。


局限:

1. 目前仍无法防止伪造 referer 爬取页面内的音频。

关于这个问题,可以关注:
防盗链 - 如何防止伪造 referer 爬取页面内的音频和图片?

2. 无法阻止用户从浏览器的缓存里去查找缓存下来的音频。

如果音频是存储在自己的服务器上的话,可以在web服务器配置禁止浏览器缓存相应数据。
但是音频是存储在七牛云,就没有办法进行相应的配置了,是这样吧?
@七牛云

晨曦慕雪 2022-09-14 15:51:38

我觉得就目前来看分段的策略就挺好的,攻防就是一个成本的博弈,如果你的资源本身价值达不到,加密成本又太大就得不偿失了。

提供一个可能的思路:
后台C/C++对原视频文件加密,传输到浏览器 通过使用 webassembly(这个不那么开源,破解成本相对较高) 中对应的解密方法,拿到帧数据,可以转成base64,通过canvas展示图像。 音频的处理,我没有可行方案,以上。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文