仅为登录用户验证视频
Authenticate Videos for logged in users only
我有一个 div 可以播放给定的视频。这是HTML代码
<video id="tutorial_video" width="100%" height="100%">
<source src='videoURL' type='video/mp4'>
Your browser does not support the video tag.
</video>
我想要的是不要在 src 中设置 URL,因为这将允许任何人获取和共享 link,我想防止这种情况发生。只有授权用户才能播放该视频,拥有 link.
权限的任何人都无法播放
有没有办法阻止 link 的任何人播放视频?也许我每次都让视频 URL 发生变化(我该怎么做)?有没有更简单的方法?
编辑 1:
我使用首先验证用户已登录的操作控制器方法进行身份验证(更多详细信息 here)。它确实有效,但出现了第二个问题,如果用户登录,he/she 只需将 link(来自视频标签的来源)复制到浏览器中即可下载视频。有办法解决这个问题吗?
编辑 2:
终于可以正常使用了。我将内容类型(在之前的 link 中)从 "attachment" 更改为 "video/mp4",如下所示:
context.HttpContext.Response.AddHeader("Content-Disposition", "video/mp4; filename=test.mp4");
感谢@kspearrin
只需通过控制器操作流式传输视频,而不是直接从磁盘链接文件。这将使您能够控制访问和验证请求。
您可以按照 this link 来实现(只需添加用户登录的身份验证)
一定要锁定磁盘上的文件,这样它只能通过操作访问,而不能被猜测文件名的人访问。
Here 是锁定文件的一种方法
我有一个 div 可以播放给定的视频。这是HTML代码
<video id="tutorial_video" width="100%" height="100%">
<source src='videoURL' type='video/mp4'>
Your browser does not support the video tag.
</video>
我想要的是不要在 src 中设置 URL,因为这将允许任何人获取和共享 link,我想防止这种情况发生。只有授权用户才能播放该视频,拥有 link.
权限的任何人都无法播放有没有办法阻止 link 的任何人播放视频?也许我每次都让视频 URL 发生变化(我该怎么做)?有没有更简单的方法?
编辑 1:
我使用首先验证用户已登录的操作控制器方法进行身份验证(更多详细信息 here)。它确实有效,但出现了第二个问题,如果用户登录,he/she 只需将 link(来自视频标签的来源)复制到浏览器中即可下载视频。有办法解决这个问题吗?
编辑 2:
终于可以正常使用了。我将内容类型(在之前的 link 中)从 "attachment" 更改为 "video/mp4",如下所示:
context.HttpContext.Response.AddHeader("Content-Disposition", "video/mp4; filename=test.mp4");
感谢@kspearrin
只需通过控制器操作流式传输视频,而不是直接从磁盘链接文件。这将使您能够控制访问和验证请求。
您可以按照 this link 来实现(只需添加用户登录的身份验证)
一定要锁定磁盘上的文件,这样它只能通过操作访问,而不能被猜测文件名的人访问。
Here 是锁定文件的一种方法