sccBlob加密newTag和url可以直接访问

MP4视频格式,防止被盗链
在网上看到将src生成blob的方法,但是在新页面和请求url是可以直接盗链的,为什么无效呢?

img

img

img

该回答内容部分引用GPT,GPT_Pro更好的解决问题
MP4视频格式防止被盗链可以通过sccBlob加密的方式来保护,sccBlob是一种新的标准,它可以将某些特定的文件(如视频)编码成一种特殊的格式,这种格式可以在支持HTML5的浏览器上被播放。它将文件加密,然后将加密的文件存储在一个URL中,只有当用户访问该URL时,浏览器才能将文件解码并显示出来。

具体实现方法如下:首先要生成一个Blob,即一个代表原始数据的对象,这个对象可以直接在内存中存储大量数据。然后,使用URL.createObjectURL()方法将blob对象传递给video标签,即可正常播放视频。

下面是示例代码:

let video = document.querySelector('video');
let blob = new Blob([video], { type: 'video/mp4' });  // 生成blob
let url = URL.createObjectURL(blob); // 将blob传递给video标签
video.src = url; // 正常播放视频

由于新页面和请求url是可以直接盗链的,所以src生成blob是无效的。这是因为blob文件本身是不能直接在浏览器中显示出来的,而是需要通过URL.createObjectURL()方法将blob传递给video标签才能正常播放。这就意味着只有正常正常请求url时才能正常显示出来,而不能直接复制url来盗链。
如果回答有帮助,望采纳。