如何防止网络上的屏幕截图?[2020]

Nee*_*tta 1 javascript web

在您尝试将其标记为重复问题之前, 我知道这是可能的,并且所有其他问题都是旧问题。这就是为什么这个问题不同的原因:

  • Netflix 已经能够做到这一点。尝试流式传输 Netflix,打开字幕,您可以看到,如果您尝试截取屏幕截图,会显示字幕,但不会显示视频。
  • 用 OBS 再试一次。当您使用桌面/窗口捕获时,您可以在浏览器中看到 Netflix 播放的视频,但同时,OBS 无法获取它。
  • 这个 Wordpress 插件(我没有亲自尝试过,所以不确定它是否有效,但评论很有希望)

既然我已经向您保证这不是 2014 年的背景问题,那么是否有任何新方法可以避免在网络上进行屏幕截图?我一直认为这是不可能的,但看起来某处可能有它的 API,而且多年来没有人在这里问过这个问题。这对于防止我自己的 JS 网站中的捕获很有用,所以我只是想知道如何自己实现这一点。谢谢。

Jas*_*les 5

你最初的假设是正确的,这是不可能的。Netflix 的例子是不同的,因为它不会阻止网页的屏幕截图(这就是为什么仍然会捕获字幕),而是阻止视频流的屏幕截图,该视频流嵌入在网页中,但实际上并不是它的一部分。您的示例中未捕获视频,因为它受Encrypted Media Extensions保护。不过,这也意味着视频不能在任何浏览器中播放,只能在支持 EME 的浏览器中访问。

因此,“您如何防止网络上的屏幕捕获”的答案是“说服每个浏览器制造商在他们的浏览器中包含允许您控制屏幕捕获的功能,然后仅将您的网站提供给支持该功能的浏览器” (这本质上是 Netflix 为视频所做的)。