web-dev-qa-db-ja.com

IISでテキストファイルのディレクトリを非表示にするにはどうすればよいですか?

IISにテキストファイルのディレクトリがあります。このディレクトリを非表示にしたい。

次のようにweb.configを設定しました。

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

しかし、ファイルの完全なディレクトリリストを表示したり、Web経由でファイルにアクセスしたりすることはできます。

何が間違っているのですか?

私もこれを試しました:

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

しかし、それも私を助けませんでした

6
nunespascal

System.webノードはasp.netファイルにのみ影響し、*。txtファイルは影響を受けません。

すべてのユーザーからファイルを非表示にするには、IIS 7.xにいくつかの方法があります。ここに2つあります。

問題のディレクトリ内の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>

1つ目はすべてのテキストファイルを非表示にし、2つ目はURLパス全体を非表示にします。どちらもユーザーに404を返します。

特定のユーザーにファイルへのアクセスを許可する場合、これらの方法は機能しません。どのような認証を使用していますか?

10
Peter Hahndorf