Accès réservé et protection de
l'information sur un site web : deux méthodes simples
Que vous souhaitiez créer une petite communauté
d'internautes disposant chacun d'une page strictement personnelle, ou condamner l'accès
à un répertoire à toute personne étrangère, voici deux solutions simples pour filtrer
l'accès à tout ou partie de votre site web. Si vous êtes dans le premier cas, un petit
javascript vous fournira une solution facile et élégante, mais pas incontournable. Si
vous êtes dans le deuxième cas, une solution faisant intervenir le serveur qui héberge
votre site est à préférer, car beaucoup plus fiable...
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.
/images/space.gif)
Solution n°1 : facile, pratique, mais contournable...
/images/space.gif)
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 News :-)
<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>
/images/space.gif)
.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'aspiration du site, et à sa dissection hors-ligne par un individu
malveillant...
/images/space.gif)
Or il ne faut pas avoir beaucoup de connaissances pour arriver à
"aspirer" un site, c'est à dire à copier sur son disque dur l'intégralité
des pages web qui le constituent. Il existe des programmes spécialisés dans cette
tâche, mais beaucoup de logiciels de conception de pages web le font aussi, de même que
les navigateurs récents (grâce à la fonction permettant de reproduire un site en local
en vue de le consulter hors-ligne)...
/images/space.gif)
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 information stratégiques ou confidentielles. En
cela, les applets java proposées en shareware constituent pratiquement une arnaque,
par le faux sentiment de sécurité qu'elles procurent...
/images/space.gif)
Solution n°2 : un peu plus complexe, mais très
efficace...
/images/space.gif)
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...
/images/space.gif)
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).
/images/space.gif)
Si votre site est hébergé sur un serveur de type 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
/images/space.gif)
<Limit GET>
require valid-user
</Limit>
/images/space.gif)
(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 suis 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é.
/images/space.gif)
Si votre site est hébergé sur un serveur Windows NT ou un autre système
d'exploitation, 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.
/images/space.gif)
Attention aux moteurs de recherche!
/images/space.gif)
Vous avez protégé l'accès à certaines de vos pages, pourtant votre rapport
statistique ou le courrier que vous recevez montre que des visiteurs non invités s'y
baladent!?! Avez-vous pensé aux moteurs de recherche?
/images/space.gif)
En effet, si vous ne leur interdisez pas explicitement de le faire, les moteurs de
recherche risquent de référencer toutes vos pages, même celles protégées
par une solution telle que la solution n°1 (javascript, applet java,...).
/images/space.gif)
Le remède est de placer une balise spécifique dans le code HTML des pages devant
demeurer secrètes, 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.
/images/space.gif)
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 à la page d'acceuil de votre site,
sous peine de passer pour un très grossier personnage! :-)
|