FAQ Expression Web, SharePoint Designer et FrontPage

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

Sécurité

 
 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 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 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é.

B) 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://msdn.microsoft.com/fr-fr/library/cc295459%28v=Expression.10%29.aspx
http://msdn.microsoft.com/fr-fr/library/eeyk640h%28VS.80%29.aspx

Authentification sous IIS:
http://support.microsoft.com/?scid=kb%3Ben-us%3B893662&x=8&y=16


C) 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 un exemple, voyez cette page:
https://www.toutjavascript.com/main/script.php?url=passlog

D) 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