前几天我在玩urls,我想知道是否有一种方法,例如在源代码中用页面加载时的视频链接替换域名,同时让浏览器仍然解释原始链接以正确播放视频。
因此,例如,如果我在我的服务器上托管一个带有以下链接的.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字母替换方案来显示一些随机的字母,而不是"goofy“。可能是这样的:
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。A我不太擅长javascript,所以我也不确定我在做什么……请随时纠正我,或者提供一些解决方案?谢谢。
发布于 2018-08-12 05:55:32
根据您的评论回复,您希望混淆视频文件的源urls。
不,修改<source/>
DOM元素中的urls对您没有任何帮助。机器人从你的站点获取原始的html,所以如果原始源urls被嵌入在那里,你将不能隐藏任何东西。
在堆栈中向上移动一点,看看Youtube是如何处理urls结构的。其核心是一个js库,可以在运行时动态构建视频urls和视频播放器。虽然它是高度模糊的,但要发现实际的视频urls并下载它们并不是一项巨大的工作。如果有人真的想得到你的视频,在浏览器中使用开发工具来调查页面并不是一件容易的事情。
对于低级来说,随意地运行像Charles proxy这样的包嗅探器,并在本地SSL代理服务(内置)中间使用一个人来查看来回发送的请求,并容易地追踪到正在传送视频的源url。
你可以回到10年前,尝试使用Flash或其他嵌入式第三方插件来“加密”视频流,但这是愚蠢和弄巧成拙的。如果我真的想要你的视频,我会把它们全屏播放,然后把它们录在我的电脑上。
希望这能更彻底地回答你的问题。
https://stackoverflow.com/questions/51803768
复制相似问题