通过身份保护文件不受iis服务器和MVC APP上url的直接访问



我有带身份验证的MVC应用程序该网站的业务是播放由ffmpeg编辑的视频。

<video id="videojs-hls-quality-selector-player" class="video-js vjs-default-skin" width="640" height="360" controls>
<source src="videoindex.m3u8" type="application/x-mpegURL">
</video>

我想阻止浏览器直接访问此链接,除非用户有会话https://localhost/vide/index.m3u8

我厌倦了配置文件的代码

<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>

但我仍然可以访问文件,无法访问文件夹

例如:-

https://localhost/video/index.m3u8 

可访问

https://localhost/video

无法访问!

我试过这个链接,但仍然没有得到如何拒绝用户访问子文件夹和文件?

您可以尝试在IIS中使用请求筛选模块,您可以使用隐藏段:

<configuration>
<system.webServer>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="index.m3u8"/>
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>

当请求筛选由于隐藏的URL段而阻止HTTP请求时,IIS将向客户端返回HTTP 404错误,并使用唯一的子状态记录以下HTTP状态,该子状态标识拒绝请求的原因。

当您访问https://localhost/video/index.m3u8时,您将获得HTTP Error 404.8 - Not Found

有关更多信息,请参阅以下文件:

https://learn.microsoft.com/en-us/iis/manage/configuring-security/use-request-filtering

https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/hiddensegments/

相关内容

最新更新