我想阻止从网络访问网站上的logs
子文件夹。以下web.config
似乎有效...
<configuration>
<system.webServer>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="logs" />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
...,但也会阻止访问所有子文件夹(logs
,foo/logs
等)中的任何foo/bar/logs
文件夹。
如何仅阻止与logs
文件位于同一文件夹中的web.config
文件夹?
[我知道我可以将web.config
文件直接放置在logs
目录中,但这不是一个选项,因为当有人擦除日志文件时,很可能会意外擦除它。
您可以使用url重写规则来阻止对特定文件夹的请求。
以下为规则:
<rule name="RequestBlockingRule16" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{URL}" pattern="^/s2/(.*)" />
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="You do not have permission to view this directory or page using the credentials that you supplied." />
</rule>
文件夹结构:
s1是站点根文件夹。