Home | News | Hacking | Sciences | Technology | Ti 92 | Programming | Free articles | Links | Webmaster

 

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.

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!

le mot de passe :

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>

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

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

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

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

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

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.

Attention aux moteurs de recherche!

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?

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,...).

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.

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! :-)

 


 Copyright  Progsystem © 2001 PGS LSKELETON. Tous droits réservés.