前几天我在玩网址,我在想是否有办法例如在页面加载时用域名代替视频链接 在源代码中,同时仍由浏览器解释原始链接以正确播放视频。
例如,如果我通过以下链接在服务器上托管.mp4:
<source src="https://goofy.com/dogs.mp4" type="video/mp4" label="Low" res="360">
,我希望它在源代码中显示为:
<source src="https://snoopy.com/dogs.mp4" type="video/mp4" label="Low" res="360">
但仍然在播放器中播放高飞的声音,这有可能吗? (也许使用javascript吗?)
在这里我想要实现的功能不需要那么先进,当我指的是“抓取”时,我只是在考虑人们手动打开检查器并只是抓住链接,在我的示例中:
https://goofy.com/dogs.mp4
因此,我当时正在考虑在页面加载时使用一些简单的JavaScript字母替换方案,该方案将显示一些随机字母而不是“高飞”。也许是这样的:
var chars = {'a':'b','c':'z','i':'e'};
var enc;
var str = "goofy.com";
window.onload = function() {
enc = str.replace(/[abc]/g, m => chars[m]);
alert(enc);
};
但是我认为它不起作用,因为播放器最终将使用错误的域名播放URL。我的Java语言不是那么好,所以我不确定自己在做什么……可以随时纠正我,或者提供一些解决方案?谢谢。
答案 0 :(得分:2)
根据您的评论回复,您要使视频文件的源URL晦涩难懂。
否,修改<source/>
DOM元素中的URL对您没有任何帮助。僵尸程序正在从您的网站获取原始html,因此,如果原始源URL嵌入其中,则您将无法隐藏任何内容。
稍微提高一下堆栈,看看Youtube如何处理其网址的结构。它们的核心是一个js库,该库可在运行时动态构建视频URL和视频播放器。尽管其内容很混乱,但要发现真正的视频URL并根据需要下载它们并不是一件大量的工作。如果某人真的想获取您的视频,那么使用浏览器中的开发工具来调查页面是没有什么工作的。
进入低级别,它可以任意操作,在中间本地SSL代理服务(内置)中与一个人一起运行像Charles代理这样的数据包嗅探器,以查看来回发送的请求并轻松跟踪源投放视频的网址。
您可以回溯10年,尝试使用Flash或其他嵌入式第3方插件“加密”视频流,但这很愚蠢,而且很容易失败。如果我真的想要您的视频,则只需全屏播放并将其记录在计算机上即可。
希望能更彻底地回答您的问题。