Votre site contient des informations de valeur que vous souhaitez
réserver à vos clients ou à certains visiteurs? Vous souhaitez
créer une petite communauté d'internautes disposant chacun
d'une page strictement personnelle? Vous voulez interdire
l'accès à un répertoire particulier de votre site? Voici deux
solutions simples à mettre en oeuvre, les conseils de base
ainsi que les pièges à éviter.
Solution n°1 : facile, pratique,
mais contournable...
Les solutions "simples" de protection ou de restriction
d'accès sont très répandues sur internet, depuis le petit
javascript jusqu'à l'applet java vendue en shareware. Voici
la solution la plus facile à mettre en oeuvre, la plus
élégante pour le visiteur, et la moins chère : elle
est gratuite!
Une boîte de dialogue comme ci-dessus demande l'entrée d'un
mot de passe, qui correspond en fait au nom de la page web
secrète, mais sans son extension .htm ou .html. Comme pour
tout mot de passe, il faut que le nom des pages secrètes ne
soit pas évident à trouver (évitez index, home,...). Par ailleurs,
sans autre modification du script ci-dessous, il faut que
les pages secrètes et la page comportant la boîte de dialogue
se trouvent dans le même répertoire. Vous pouvez faire un
essai ci-dessus en utilisant comme mot de passe "intrusion_troyens"...
Plutôt bizarre comme mot de passe, mais c'est parce que vous
êtes actuellement dans le répertoire des dossiers de Secuser.com
:-)
<html>
<head>
<title>Titre de votre page</title>
<script LANGUAGE="JavaScript">
<!--
function checkPassword(ext) {
if ((document.pswdForm.pswd.value == null) || (document.pswdForm.pswd.value
== ""))
alert("Entrez un mot de passe avant de valider.");
else this.location.href = document.pswdForm.pswd.value + ext;
}
// -->
</script>
</head>
<body>
<form NAME="pswdForm">
<p>Entrez le mot de passe :
<input TYPE="password" NAME="pswd"
SIZE="24" MAXLENGTH="40">
<input TYPE="button" VALUE="Ok" onClick="checkPassword('.htm')"></p>
</form>
</body>
</html>

.htm : à changer si besoin selon
l'extension de vos pages web (htm, html,...)
De tels dispositifs (javascript, applet java,...) ont pour
point commun de ne pas faire intervenir directement le serveur
dans le processus de contrôle d'accès aux pages protégées,
ce qui constitue leur principale faiblesse. En effet, ils
sont tous vulnérables de la même façon : ils sont incapables
de s'opposer à l'accès aux pages par un moteur
de recherche (à partir du moment où un lien
extérieur pointe vers une des pages protégées)
ou dans le cas d'une entrée manuelle "intuitive"
d'une adresse web...
L'intérêt d'une restriction d'accès par ce procédé réside
donc essentiellement dans sa mise en oeuvre très simple :
en aucun cas il ne doit être utilisé pour interdire l'accès
à des informations stratégiques ou confidentielles. En cela,
certaines applets java proposées en shareware constituent
pratiquement une arnaque, par le faux sentiment de sécurité
qu'elles procurent...
Solution n°2 : un peu plus complexe,
mais très efficace...
Cette fois, il s'agit de mettre en place une protection
quasiment inviolable, qui ne pourra être contournée
que par le hacking du serveur qui héberge votre site. Cela
reste donc très exceptionnel, même si ça n'est jamais à exclure,
aucune protection informatique n'étant à ce jour 100% fiable,
100% du temps...
Pour mettre en ouvre cette deuxième solution, il vous faut
tout d'abord déterminer si votre site est hébergé sur un serveur
Unix (ou assimilé) ou Windows NT (ou autre). Pour cela, consultez
l'aide en ligne de votre hébergeur, ou utilisez le Traceur
VisualRoute (entrez l'adresse de votre site web, cliquez
sur Entrée, puis consultez les informations récupérées).
Si votre site est hébergé sur un serveur Unix (cas de la
plupart des sites hébergés gratuitement), vous devez pouvoir
mettre en place une protection efficace grâce aux fichiers
.htaccess et .htpasswd (en cas de doute, demandez confirmation
à votre hébergeur pour vous en assurer). Pour cela, créez
un premier fichier htaccess.txt (impossible de créer un fichier
comme .htaccess sous Windows), dont le contenu sera celui-ci
:
AuthUserFile /disks/votre-site/répertoire-à-protéger/.htpasswd
--> (1)
AuthGroupFile /dev/null
AuthName "Protection par mot de
passe" --> (2)
AuthType Basic

<Limit GET>
require valid-user
</Limit>

(1) chemin interne au serveur permettant d'accéder au fichier
.htaccess contenu dans le répertoire à protéger (à demander
à votre hébergeur)
(2) nom donné à la protection
Créez ensuite un second fichier, nommé htpasswd.txt, contenant
les logins des personnes autorisées à accéder au répertoire, ainsi
que les passwords correspondants sous forme cryptée. Pour crypter
les mots de passe, vous pouvez utiliser cet encrypteur
en ligne : saisissez le password, puis une clé (= deux lettres
au hasard), puis cliquez sur "crypter" (le résultat est
toujours une suite de lettres et de nombres sans signification).
Le tout doit être disposé comme suit dans le fichier htpasswd.txt
(n'oubliez pas les ":") :
login1:password1
login2:password2
login3:password3
login4:password4
Avec un logiciel tel que Cute FTP, transférez ensuite les
deux fichiers htaccess.txt et htpasswd.txt sur le serveur
qui héberge le site, dans le répertoire à protéger, puis renommez-les
respectivement en .htaccess et .htpasswd. Il ne vous reste
plus alors qu'à faire un test pour confirmer que l'accès au
répertoire est bien verrouillé.
Si votre site est hébergé sur un serveur Windows NT ou 2000,
vous devez avoir accès à un panneau de contrôle web qui vous
permet de configurer les droits d'accès à votre site. Mais
si vous n'êtes pas l'administrateur de votre site, demandez
à votre hébergeur de configurer pour vous les droits d'accès
du ou des répertoires concernés.
Attention aux moteurs de recherche!
Toute page web publiée dans un répertoire
non protégé est susceptible d'être indexée
par les moteurs de recherche et de ressortir dans les résultats
de recherche d'une personne qui taperait les bons mots-clés.
Pour éviter cela, il faut placer une balise spécifique
dans le code HTML des pages qui ne doivent pas être
indexées, afin d'indiquer aux moteurs de ne pas les
référencer :
<html>
<head>
<title>Titre de votre page</title>
<META NAME="robots" CONTENT=" noindex">
</head>
<body>
</body>
</html>
Cette balise n'étant pas respectée par tous les moteurs
de recherche, il vaut mieux définir également un
fichier robot.txt directement interprétable par les robots
indexeurs. Un tel fichier permet d'ailleurs d'interdire le
référencement du contenu d'un répertoire entier en une seule
opération, sans avoir à toucher aux pages qu'il contient.
Voilà pour les données de base permettant de protéger ou
de restreindre l'accès à votre site web. Dans tous les cas,
montrez-vous magnanimes envers les visiteurs non désirés en
évitant d'interdire l'accès y compris de la page d'acceuil
de votre site, sous peine de passer pour un très grossier
personnage :-)
LIENS UTILES :

- Traceur
VisualRoute
- Article
sur la mise en place des fichiers .htaccess et .htpasswd
- Encrypteur
en ligne (OVH)
- Article
de WebDeveloper.com sur les tags META (en anglais)
- Article
sur la mise en place d'un fichier robot.txt (en anglais)
- Article
sur les robots indexeurs (en anglais)
|