none
Ne pas autoriser l'utilisateur a remonter l'url du site asp.net RRS feed

  • Question

  • Bonjour,

    Voilà j'ai un site internet que j'ai réalisé avec Visual Web developer 2005, et je voudrai que lorsqu'une page s'affiche par exemple :

    http://localhost:1069/Si/PagesInvites/Contact.aspx

    Je ne souhaite pas que l'utilisateur puisse remonter en tapant :

    http://localhost:1069/Si/PagesInvites

    Car cela lui permettrait de se balader dans les dossiers du site internet.

    Le site dispose déjà de rôes et de régles d'access pour la sécurité.

    Merci de m'aider, au revoir.
    jeudi 1 juillet 2010 09:44

Réponses

  • tu as une erreur car :

    - tu as placé directoryBrowse dans system.web et non pas system.WebServer

    De toute façon ce paramétrage ne sera utile que lorsque tu déploieras le site car quand tu utilises visual studio tu utilises le serveur web inclus dans visual studio.

    Donc comme déjà dit, il faut que tu connaisses la version de IIS qui sera utilisée pour déployer ton appli. Tu pourras alors testé le déploiement et configurer la navigation entre répertoire( system.WebServer n'est utile que pour IIS7 )

    • Marqué comme réponse Alex Petrescu lundi 5 juillet 2010 09:05
    vendredi 2 juillet 2010 09:23
    Modérateur

Toutes les réponses

  • Bonjour,

    pour éviter que l'utilisateur puisse parcourir les répertoires, vous devez désactiver l'exploration de répertoire au niveau de IIS.

    - sur IIS 5, 6 présence d'une case à cocher dans les propriétés d'un répertoire virtuel ou non: ex ici

    - sur IIS 7 voir Exploration de répertoire ou le paramètre  directoryBrowse dans le web.config

    Cordialement

     

    jeudi 1 juillet 2010 12:21
    Modérateur
  • Tu peux etre plus clair je le trouve ou ton IIS? Sinon dans web.config ça n'y est pas.

    Merci.

    vendredi 2 juillet 2010 06:50
  • Si un balise n'est pas présente dans un fichier Web.Config n'est pas présente, ça ne veut pas dire qu'elle n'existe pas. Dans ces cas là, il faut penser à faire une recherche sur MSDN afin d'avoir un exemple de la syntaxe.

    Si tu aurais pris la peine de le faire tu aurais pu voir ceci :

    <configuration> 
      <location path="special_directory_name_here">
       <system.webServer>  
         <directoryBrowse enabled="false" />  
       </system.webServer> 
      </location>
    </configuration>

    Ensuite concernant IIS, si tu ne sais pas ce que c'est je t'invite vivement et de façon urgente à te renseigner dessus. Je suppose que tu en es simplemen à l'étape de développement dans Visual Studio et que tu n'as jamais déployé une application sur un serveur Web ?

    En espérant t'avoir aidé.


    www.nicolasesprit.com
    vendredi 2 juillet 2010 08:02
  • T'as formule :

     

    <configuration>
      <location path="special_directory_name_here">
       <system.webServer> 
         <directoryBrowse enabled="false" /> 
       </system.webServer>
      </location>
    </configuration>

    me parait bien, donc je l'ajouter au fichier web.config en indiquant ce qui n'y est pas? Merci.

    Et oui je suis qu'au developpement. Pour Le IIS, je me suis renseigné, l'informaticien est en congé aujourd'hui donc je ne peux pas avoir le cd d'xp.

     

    vendredi 2 juillet 2010 08:50
  • Pour rappel la section system.webServer ne concerne que IIS7 c'est à dire pour les OS vista, 7 et windows server 2008.

    Il te faut connaitre la version cible de IIS et donc du système d'exploitation pour savoir quel paramètrage effectué.

    Cordialement

     

    vendredi 2 juillet 2010 09:03
    Modérateur
  • Je l'ai mis comme ça voilà la page web.config :

    <?

     

    xml version="1.0"?>

    <!--

     

    Remarque : au lieu d'diter manuellement ce fichier, vous pouvez utiliser

    l'outil d'administration Web pour configurer les paramtres de votre

    application. Utilisez l'option Site Web->Configuration Asp.Net de Visual

    Studio.

    Vous trouverez la liste complte des paramtres et commentaires dans

    machine.config.comments, situ gnralement dans

    \Windows\Microsoft.Net\Framework\v2.x\Config

    -->

    <

     

    configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

    <

     

    location path="special_directory_name_here">

    <

     

    appSettings/>

    <

     

    connectionStrings/>

    <

     

    system.web>

    <!--

     

    Dfinissez compilation debug="true" pour insrer des symboles

    de dbogage dans la page compile. Comme ceci

    affecte les performances, dfinissez cette valeur true uniquement

    lors du dveloppement.

     

     

    -->

    <

     

    directoryBrowse enabled="false" />

    <

     

    roleManager enabled="true" />

    <

     

    compilation debug="true"/>

    <!--

    La section <authentication> permet la configuration

    du mode d'authentification de scurit utilis par

    ASP.NET pour identifier un utilisateur entrant.

     

     

    -->

    <

     

    authentication mode="Forms" />

    <!--

    La section <customErrors> permet de configurer

    les actions excuter si/quand une erreur non gre se produit

    lors de l'excution d'une demande. Plus prcisment,

    elle permet aux dveloppeurs de configurer les pages d'erreur html

    pour qu'elles s'affichent la place d'une trace de la pile d'erreur.

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

    <error statusCode="403" redirect="NoAccess.htm" />

    <error statusCode="404" redirect="FileNotFound.htm" />

    </customErrors>

     

     

    -->

    </

     

    system.web>

    </

     

    location>

    </

     

    configuration>

    vendredi 2 juillet 2010 09:04
  • Donc là j'ai une erreur : 15 >Section de configuration non reconnue system.web/directoryBrowse à la ligne 22
    vendredi 2 juillet 2010 09:14
  • tu as une erreur car :

    - tu as placé directoryBrowse dans system.web et non pas system.WebServer

    De toute façon ce paramétrage ne sera utile que lorsque tu déploieras le site car quand tu utilises visual studio tu utilises le serveur web inclus dans visual studio.

    Donc comme déjà dit, il faut que tu connaisses la version de IIS qui sera utilisée pour déployer ton appli. Tu pourras alors testé le déploiement et configurer la navigation entre répertoire( system.WebServer n'est utile que pour IIS7 )

    • Marqué comme réponse Alex Petrescu lundi 5 juillet 2010 09:05
    vendredi 2 juillet 2010 09:23
    Modérateur
  • Ok c'est bon le code je l'ai mis dans le web.config du dossier racine du site, j'ai 4 autres dossiers avec des web.config faut mettre le code aussi dans ces web.config là? Moi je pense que non...

    vendredi 2 juillet 2010 09:29