12
votes

Puis-je utiliser des caractères génériques dans l'attribut de chemin d'accès web.config?

Dans IIS 7, j'essaie de refuser l'accès à tous les fichiers avec l'extension .xml pour tous les utilisateurs.

J'ai essayé le paramètre suivant dans mon fichier web.config: xxx

mais obtenir tout fichier entraîne une erreur de serveur interne.

IT Fonctionne si je refuse l'accès aux fichiers individuels, mais cette solution ne m'a pas acheté beaucoup comme je ne connais pas tous les fichiers .xml à l'avance.


1 commentaires

3 Réponses :


9
votes

Essayez ceci:

<configuration>
    <system.web>
        <httpHandlers>
            <add path="*.xml" verb="*" 
             type="System.Web.HttpNotFoundHandler" />
        </httpHandlers>
    </system.web>
</configuration>


1 commentaires

Cette même approche peut-elle être appliquée ici: Stackoverflow.com/Questtions/47096577/... ?



5
votes

Un autre moyen est d'utiliser un filtre de demande:

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


0 commentaires

0
votes

Je suis tombé sur ceci lors de la recherche d'un moyen de modifier la sécurité appliquée à toutes les actions d'un contrôleur dans une application héritée (ASP.NET MVC). Je pensais avoir besoin d'une sorte de caractères génériques, mais simplement de fournir le chemin d'accès, y compris le segment du contrôleur suffit:

Ceci permet d'accéder anonyme à toutes les actions dans FOOCONTROLLER .


0 commentaires