我们有一些专有的音频文件,我们正在通过 html5 进行流式传输。这些文件位于 Amazon S3 存储桶中。
音频文件具有特殊的高通和低通滤波器以及其他科学的改变,是由我们自己的乐团录制的。
这些文件不能直接下载,但我们会用 html5 音频来传输它们。
任何超级用户都可以轻松查看 http 请求,查看音频文件 URL,将其输入到地址栏中,然后下载。这违反了他们同意的协议条款。
我们希望只有我们的网站可以访问这些文件并在我们的应用程序中使用它们。
我可以看到你可以通过 IP 允许:
<Directory /var/www/>
<Files filename.ext>
Order allow,deny
Allow from 192.168.1.1
</Files>
</Directory>
但是通过域名/服务器怎么样?
把我们的服务器 IP 放在那里能解决问题吗?本地 IP?我不这么认为,因为我猜想这会从浏览器中检查客户端的 IP。
我知道任何拥有合适声卡或软件的人都可以在聆听的同时自己录制文件。哦,我的目标不是让它变得不可能,而是让它变得更难。
所以,简而言之,问题是,我该如何做到只有我们的网站可以访问音频文件并将其传输给用户?
谢谢!
答案1
遗憾的是,这是试图在第 7 层解决第 8 层问题(有人窃取内容)?这不可能。一旦他们拥有了内容,他们就拥有了它。你的威胁模型是什么?如果你已经说“这违反政策”,那么它就是违反政策的。你可以编写一些代码,如果同一个 IP 在 5 分钟内对同一个文件发出相同的请求,则拒绝访问它。
问题在于,您认为“只有我们的网络服务器可以访问文件”,但使用 HTML5,您可以提供内容。
不幸的是,在保护内容方面,有很多不好的方法(iTunes 音乐商店、受保护的 WMA 文件等),而好的方法却不多。这可能更适合作为程序问题,而不是服务器配置问题。