video - 有没有办法防止在 HTML5 视频播放器中下载视频
问题描述
我想阻止通过右键单击、开发者工具和浏览器扩展下载视频。有没有办法做到这一点?
很多网站已经这样做了,但是怎么做呢?
解决方案
您可以禁用任何 HTML5 元素上的“上下文菜单”,但您应该知道,如果有人真的想下载您的视频,这对他们来说是一个相当简单的障碍。
此处提供有关禁用上下文菜单的信息:https ://developer.mozilla.org/en-US/docs/Web/API/Element/contextmenu_event
为视频修改的示例如下所示:
noContext = document.getElementById('noContextVideo');
noContext.addEventListener('contextmenu', e => {
e.preventDefault();
});
<p>The context menu has been disabled on this video.</p>
<video id="noContextVideo" width="320" autoplay controls height="240">
<source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"
type="video/mp4">
</video>
<p>But it has not been disabled on this one.</p>
<video width="320" autoplay controls height="240">
<source src="http://clips.vorwaerts-gmbh.de/VfE_html5.mp4"
type="video/mp4">
</video>
最终,如果您的浏览器能够播放视频,那么有人可以使用一些基本的编程或常用工具下载它。
解决这个问题的常用方法是加密视频并安全地共享加密密钥,无论是以某种方式私下还是使用 DRM 系统。
即使这样,您也需要评估您要保护的内容——例如,如果它是带有商业“机密”的公司内部视频,将相机对准屏幕会以足够的质量复制它,从而轻松“泄露”这些机密。
推荐阅读
- angular - 从开始日期和结束日期获取中间日期
- go - 使用 go-swagger openAPI 限制响应大小
- python - Plotly 将下拉菜单添加到图形
- python - 如果用户选择美国,如何显示美国用户的所有帖子(在 CharField Choices 中)
- python - BiRNN Keras 模型中的 SHAP 解释
- dropbox - 如何减少在 Python 中将许多文件上传到 Dropbox 的执行时间?
- odoo - 在客户发票会计模块中通过电子邮件发送不起作用 odoo 11
- c# - 使用 Elastic Load Balancer 时无法检测到浏览器
- react-native - 在 react-native 中,使用 linking.openURL(tel) 调用后,没有导航到我的应用程序
- visual-studio - 在 Visual Studio 上对解决方案进行批量构建时收到警告