如何隐藏 IIS 上的文本文件目录?

如何隐藏 IIS 上的文本文件目录?

我在 IIS 上有一个文本文件目录。我想隐藏此目录。

我已将 web.config 设置如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.web>
        <authorization>
            <deny users="*" /> <!-- Denies all users -->
        </authorization>
    </system.web>
</configuration>

但我仍然可以看到文件的完整目录列表,以及通过网络访问这些文件。

我设置错了什么?

我也尝试过这个:

<system.webServer>
      <security>
          <authorization>
              <remove users="*" roles="" verbs="" />
              <add accessType="Allow" roles="Administrators" />
          </authorization>
      </security>
  </system.webServer>

但这也对我没什么帮助

答案1

system.web节点只影响asp.net文件,*.txt文件不受其影响。

要对所有用户隐藏文件,IIS 7.x 中有几种方法,下面是两种:

在相关目录内的 web.config 中:

<system.webServer>
    <security>
        <requestFiltering>
            <fileExtensions>
                <add fileExtension=".txt" allowed="false" />
            </fileExtensions>
        </requestFiltering>
    </security>
</system.webServer>

或者

<system.webServer>
    <security>
        <requestFiltering>
            <hiddenSegments>
                <add segment="directoryname" />
            </hiddenSegments>
        </requestFiltering>
    </security>
</system.webServer>

第一个隐藏所有文本文件,第二个隐藏整个 url 路径,两者都向用户返回 404。

如果您想允许某些用户访问这些文件,这些方法将不起作用。您使用哪种身份验证?

相关内容