FAQ Expression Web, SharePoint Designer et FrontPage

 Questions, aides et astuces, provenant au départ du forum microsoft.public.fr.frontpage.

Sécurité

Sauter la navigation

 

 
 1 - Restreindre l'accès par un mot de passe
 2 - Mot de passe par un script simple
 3 - Cacher une page dans le dossier _private
 4 - Empêcher l'affichage d'un dossier
 

1 - Restreindre l'accès par un mot de passe

Question 1 Je veux protéger une page avec un mot de passe, pour autoriser son accès à quelques personnes seulement. Comment faire?

Réponse 1 La méthode à utiliser dépend avant tout de la configuration du serveur où le site est publié. Plusieurs hébergeurs vous offriront aussi une procédure adaptée à leur système.

Voici quelques adresses de référence, tirées des messages du groupe de discussion microsoft.public.fr.frontpage.

A) Avec les extensions FrontPage
Si le serveur supporte les extensions FrontPage complètes, vous pouvez gérer l'accès à votre site en créant un sous-site avec des permissions:
Pour FrontPage 2003, voir: http://support.microsoft.com/kb/825451/en-us 
FrontPage 2000 et 2002: http://support.microsoft.com/kb/301554/en-us
Mais si l'option Sécurité est grisée: http://support.microsoft.com/?id=265468

B) Sur un serveur Apache, Unix...
Le fichier .htaccess protège les accès au dossier ou à la page par login/mot de passe. Voici quelques tutoriaux:
http://www.infres.enst.fr/~danzart/frames/htaccess.html
http://www.archicool.net/faq2/reponse34.html

C) Avec ASP
Voici des modes d'emploi détaillés:
- pour un seul utilisateur (ou un même mot de passe pour tous):
http://support.microsoft.com/?id=301464 

- pour plusieurs utilisateurs: http://support.microsoft.com/?id=299987
et, avec FrontPage 2000:http://support.microsoft.com/?id=321503
avec FrontPage 2002: http://support.microsoft.com/kb/321439/en-us
avec FrontPage 2003: http://support.microsoft.com/?id=825498
avec Expression Web: http://support.microsoft.com/kb/928706/fr
Ces fiches contiennent aussi des liens de référence vers d'autres articles sur la sécurité.

D) En ASP.NET
Les contrôles ASP.NET (dans les pages aspx) permettent d'ajouter des champs pour créer un mot de passe et le rétablir au besoin:
http://expression.microsoft.com/en-us/cc964293.aspx (tutoriel en anglais)
http://msdn.microsoft.com/fr-fr/library/cc295459%28v=Expression.10%29.aspx
http://msdn.microsoft.com/fr-fr/library/eeyk640h%28VS.80%29.aspx

Un exemple de login sous forme de popup utilisant ASP.NET AJAX:
http://www.techheadbrothers.com/Astuces.aspx/dialogue-login-forme-popup-aspnet-ajax-toolkit

Authentification sous IIS:
http://msdn.microsoft.com/fr-fr/library/aa292114%28VS.71%29.aspx
 
http://support.microsoft.com/?scid=kb%3Ben-us%3B893662&x=8&y=16


E) En JavaScript
En utilisant le JavaScript pour interdire l'accès à une page, c'est simple et  rapide (même s'il est parfois possible de contourner le tout, en lisant la source du fichier). Pour des exemples, voyez cette page (en y faisant une recherche sur "mot de passe"): http://www.editeurjavascript.com

Ou, consultez http://www.aidenet.com/pageperso68.htm. Avec les liens 68da à 68dc, vous obtenez trois façons de protéger des pages ou un site avec un mot de passe.

F) Selon l'hébergeur
Une procédure pour réserver une partie du site, à l'aide d'un nom d'utilisateur et d'un mot de passe, est prévue sur certains serveurs. C'est une procédure propre à chacun d'eux, souvent plus sécuritaire que le JavaScript.
En voici un exemple, pour Multimania-Lycos:
http://webmaster.lycos.fr/topics/technic/admin/admin-workshop1/0/

Pour trouver d'autres références, n'hésitez pas à consulter un moteur de recherche, comme http://yahoo.fr ou http://google.ca

Retour au début

2 - Mot de passe par un script simple

Question 2 Comment restreindre l'accès à une page, par la saisie d'un mot de passe?  Je cherche la solution la plus simple, mais pas nécessairement la plus sécurisée.

Réponse 2 Si vous désirez tout simplement restreindre l'accès en utilisant un script, vous trouverez plus bas un exemple qui est très facile à utiliser (notez qu'il n'est pas très sécuritaire, mais il fera généralement l'affaire pour restreindre l'accès). Vous n'avez qu'à insérer ce script dans votre code HTML (cliquez sur l'onglet "HTML" ou "Code", lorsque votre page est ouverte dans FrontPage), puis donnez le même nom à la page à accès restreint que le mot de passe choisi (par exemple, mot de passe = "arizona"; page = "arizona.htm").

<script Language="JavaScript">
<!--
var password = '';
password=prompt('Veuillez entrer votre mot de passe :','');
if (password != null){
location.href= password + ".htm";
}
// -->
</script>

Retour au début

3 - Cacher une page dans le dossier _private

Question 3 Je voudrais empêcher tous les visiteurs d'avoir accès à certaines pages. Comment faire?

Réponse 3 Dans FrontPage, il suffit de mettre la page dans le répertoire _private (à condition que le serveur ait les extensions FrontPage). Sinon, il faut faire un peu de PHP ou d'ASP.
Le fait de mettre tes pages dans le dossier _private, va bien sûr sécuriser ta page Web, mais le problème c'est qu'aucun des visiteurs, même pas ceux à qui tu voudrais donner accès, ne pourra visualiser ces pages. L'embêtant, c'est que c'est le même mot de passe que celui qui permet de modifier le site...

Retour au début

4 - Empêcher l'affichage d'un dossier

Question 4 Admettons que je crée un répertoire Bonjour/Secret/le_secret.htm. Du fait que le répertoire Secret ne contient pas de index.html, il y a une faille de sécurité... Pouvez-vous m'expliquer comment empêcher les visiteurs de tomber, lorsqu'ils tapent juste Bonjour/Secret/ sur une liste des fichiers du répertoire?

Réponse 4 En fait, c'est ton hébergeur qui doit définir que les visiteurs ne peuvent pas lister le contenu des répertoires. Et, si cela est fait correctement, le visiteur aura le message suivant: "403.14 Forbidden - Directory Listing Denied". Si tu travailles avec IIS, c'est toi qui doit configurer cela sur le serveur pour ton site Web.
 
Une solutions plus simple: mettre une page index.htm dans ton dossier, cette page contenant un script qui redirige instantanément vers ta page d'accueil (voir la rubrique Liens hypertexte #7).

 Retour au début