如何在IIS Rewrite规则的情况下使用Sec-Fetch-Site请求头

问题描述 投票:0回答:1

我想限制对我的 IIS 网站上托管的某些资源的访问。

更具体地说,我希望这些资源(例如图像或 html 文件)只能在托管于完全相同的域和服务器上的页面内或从该页面中查看。不能直接访问,不能嵌入其他网站,不能从其他网站链接。

我还希望这些文件可以使用react.js从网站本身动态加载。

为此,我发现我可以检查 Sec-Fetch-Site 请求标头必须设置为同源才能接受请求。

因此在IIS重写规则模块中,在包含这些文件的特定文件夹上,我编写了一条重写规则为HTTP_Sec_Fetch_Site不等于同源,但它不起作用。

请告诉我如何编写这样的规则。

iis http-headers url-rewrite-module
1个回答
0
投票

您可以尝试IIS URL重写规则以避免文件不被其他源使用。

Sec-Fetch-Site
标头是 HTTP 规范中相对较新的补充,可能并非在所有情况下都可用,尤其是在没有额外配置的情况下可能无法在 IIS URL 重写模块中直接访问。

 <rule name="test" stopProcessing="true">
      <match url=".*\.(jpg|jpeg|png|gif|bmp|html)$" />
      <conditions>
          <add input="{HTTP_REFERER}" pattern="^$" />
          <add input="{HTTP_REFERER}" pattern="www.sample1.com" />
      </conditions>
      <action type="AbortRequest" />
 </rule>

在比赛网址中,您可以根据您的要求进行修改。或者您可以将 (.*) 作为模式。

© www.soinside.com 2019 - 2024. All rights reserved.