我想限制对IIS网站上托管的某些资源的访问。
更具体地说,我希望这些资源,如图像或html文件,只能在或从完全相同的域和服务器上托管的页面中查看。没有直接访问,不能嵌入其他网站,不能从其他网站复制。
我还希望这些文件是动态从网站本身使用react.js。
为此,我发现我可以检查Sec-Fetch-Site请求头必须设置为相同来源才能接受请求。
因此,在IIS重写规则模块中,在包含这些文件的特定文件夹上,我编写了一个重写规则HTTP_Sec_Fetch_Site不等于同源,但它不起作用。
请告诉我如何写这样的规则。
2条答案
按热度按时间exdqitrt1#
您可以尝试IIS URL重写规则,以避免其他来源不使用文件。
Sec-Fetch-Site
标头是HTTP规范中相对较新的添加,可能并非在所有情况下都可用,特别是如果没有其他配置,可能无法在IIS URL重写模块中直接访问。字符串
在匹配URL中,您可以根据您的需求进行修改。或者您可以将(.*)作为模式。
vsnjm48y2#
我没有在重写规则中使用正确的语法。
解决方案是使用重写规则,例如:
{HTTP_SEC_FETCH_SITE}与同源不匹配
它在Google Chrome和MS Edge的IIS 10上运行良好。