From 2a27a214d89fa6312b144d825e19edad2b84b904 Mon Sep 17 00:00:00 2001 From: mlnguyen Date: Mon, 9 Dec 2002 23:10:50 +0000 Subject: [PATCH] =?UTF-8?q?Modification=20de=20internet/web/index.html=20q?= =?UTF-8?q?ui=20=C3=A9tait=20une=20page=20vide.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internet/web/htaccess.tml | 269 ++++++++++++++++++++++++++++++++++++++ internet/web/index.tml | 11 +- 2 files changed, 275 insertions(+), 5 deletions(-) create mode 100644 internet/web/htaccess.tml diff --git a/internet/web/htaccess.tml b/internet/web/htaccess.tml new file mode 100644 index 0000000..671d7cb --- /dev/null +++ b/internet/web/htaccess.tml @@ -0,0 +1,269 @@ + + + + + .htaccess + + + + +

Configurer un serveur Apache avec .htaccess

+ +

Qu'est-ce que c'est ?

+ +

.htaccess est un simple fichier texte qui vous permet +de gérer de manière décentralisée un serveur Apache (le serveur des +élèves, par exemple). Par exemple, .htaccess vous permet +de protéger certains répertoires avec des mots de passe, de +restreindre l'accès à votre page Web, d'empêcher le listage de vos +répertoires (quand ils ne contiennent pas de fichier index.html), ou +encore d'utiliser vos propres pages d'erreur (404, 403)...

+ +

Les directives d'un .htaccess s'appliquent à +l'ensemble des fichiers du répertoire dans lequel il est placé, ainsi +qu'aux sous-repertoires. .htaccess est lu à chaque +requête du serveur, donc chaque modification prend effet +immédiatement.

+ +
Attention, la moindre erreur dans votre +.htaccess causera une erreur serveur et empêchera tout +accès à votre site. Vérifiez donc bien que tout marche bien à chaque +modification de ce fichier. Une consultation des logs de webmaster +(/opt/webmaster/var/log/error_log.curr) vous aidera à +diagnostiquer ce qui ne marche pas.
+ +

Précisons enfin que chaque ligne commençant par un dièse (#) est +ignorée, ce qui vous permet de commenter vos directives.

+ +

Personnalisez vos pages d'erreur

+ +

Tout le monde connaît bien les pages d'erreur 404 (File Not Found), +403 (Forbidden), 500 (Internal Server Error)... Il peut être utile de +personnaliser ce type de pages d'erreur (surtout les erreurs 404), par +exemple pour demander à l'internaute de vous signaler les liens +cassés, ou pour lui proposer de faire une recherche sur le site (il +existe un moteur +Google pour le serveur des élèves).

+ +

D'abord, créez vos propres pages d'erreur. Ensuite, dans votre +fichier .htaccess, écrivez :

+ +
ErrorDocument numero_d'_erreur /chemin/du/fichier.html
+ +

Il est plus simple de nommer vos pages 403.html, 404.html, etc., ce +qui donne :

+ +
ErrorDocument 404 /home/toto/404.html
+ +

Voici quelques unes des erreurs les plus courantes :

+ + +

Redirections

+ +

Les redirections sont particulièrement utiles quand vous modifiez +l'architecture de votre page Web. Par exemple, vous avez décidé de +ranger tous vos exposés dans un répertoire +~/www/exposes/. Vous souhaitez que quelqu'un qui veut +accéder à l'ancien ~/www/expose1.html soit rerouté vers +la nouvelle adresse, ~/www/exposes/1.html.

+ +

Ceci est à spécifier dans votre .htaccess :

+ +
RedirectPermanent /home/toto/expose1.html /home/toto/exposes/1.html
+ +

Et ainsi de suite pour tous les fichiers concernés.

+ +

Jouer avec les index de répertoires

+ +

Quand un répertoire ne contient pas de fichier index.html (ou +index.htm), Apache liste le contenu du répertoire, en donnant quelques +informations, typiquement la taille des fichiers. Mais il est possible +de spécifier d'autres informations, comme la date de dernière +modification, et d'ajouter une courte description de chaque +fichier.

+ +

La syntaxe est la suivante : IndexOptions FancyIndexing +<autres directives>. Ces autres directives sont les +suivantes :

+ +
+
IconsAreLinks
+
Les icônes qui renseignent le type de fichier deviennent aussi des +liens
+
ScanHTMLTitles
+
On utilise pour la description des fichiers le titre des documents +HTML.
+
SuppressSize
+
Supprime l'indication de taille des fichiers
+
SuppressDescription
+
Supprime la description
+
SuppressLastModified
+
Supprime la date de dernière modification
+
+ +

Exemple : vous avez un répertoire d'images appelé +~/www/images/, vous souhaitez avoir la taille et la +description de chacune des images. Vous en profitez pour supprimer la +date de dernière modification, qui ici vous importe peu et prend de la +place.

+ +
IndexOptions SuppressLastModified FancyIndexing
+AddDescription "Le bassin aux Ernests"  images/ernests.gif
+AddDescription "La planète Mars"    images/mars.jpg
+
+ +

Index alternatifs

+ +

Pour une raison quelconque, vous n'utilisez pas de fichiers +index.html ou index.htm. Par exemple, vous utilisez PHP et pour vous, +les fichiers d'index s'appellent index.php. Ou encore, +vos fichiers d'index s'appellent tagada.html. Vous pouvez +indiquer au serveur quels fichiers considérer comme des fichiers +d'index :

+ +
DirectoryIndex index.php
+ +

Si vous utilisez des fichiers d'index aux noms différents, vous +pouvez créer une liste. Apache regarde d'abord si le fichier cité en +premier existe, et à défaut passe au suivant jusqu'à ce qu'il en +trouve un, sinon il affiche le contenu du répertoire (sauf si vous +avez désactivé cette fonction, bien sûr).

+ +
DirectoryIndex index.php tagada.html main.html index.html
+ +

Restrictions d'accès

+ +

Vous pouvez interdire l'accès à votre site à partir de certaines +adresses IP. Rappel : une adresse IP est constitué de quatre +nombres de 0 à 255 séparés par des points, par exemple l'adresse IP de +clipper est 129.199.121.1.

+ +

Pour interdire une adresse IP :

+ +
deny from 123.456.789.10
+ +

Inversement, on peut autoriser une adresse IP :

+ +
allow from123.456.789.10
+ +

Si on indique un ou deux nombres seulement, ils sont interprétés +comme des plages d'adresses IP. Par exemple, allow from +129.199 autorise tous les accès venant de l'École. deny +from all interdit à tout le monde l'accès à vos fichiers, mais +des scripts peuvent continuer à les utiliser.

+ +

En pratique, une interdiction de certaines IP prend la forme +suivante :

+ +
+order allow,deny
+deny from 123.45.6.7  # on interdit l'adresse précise 123.45.6.7
+deny from 12.34.5    # on interdit toutes les adresses IP commençant par 12.34.5
+allow from all        # on autorise tous les autres
+
+ +

Exemple : vous souhaitez réserver une partie de votre site aux +connexions venant de l'École. Admettons qu'il s'agisse de votre +répertoire ~/www/normalos/. Créez dans ce répertoire une +fichier .htaccess dans lequel vous écrirez :

+ +
+        order deny,allow
+	deny from all
+        allow from 129.199
+
+ +

On peut aussi utiliser des noms de domaine. Admettons que vous +n'aimiez ni le gouvernenent américain ni l'entreprise de +M. Gates. Vous pouvez écrire :

+ +
Deny from .gov microsoft.com
+ +

Authentification par mot de passe

+ +

JavaScript vous permet également ce genre d'identification, mais il +vaut mieux passer par .htaccess : il est périlleux de confier la +sécurité au navigateur de l'internaute, qui en fait ce qu'il +veut. Vous n'avez pas ce genre de problème côté serveur.

+ +

Gardez cependant à l'esprit que la protection par mot de +passe au niveau du serveur va faire passer le mot de passe en clair +(non crypté). Si vous protégez par mot de passe un répertoire, il est +possible de passer outre votre protection si l'on a connaissance de +sous-répertoires non protégés.

+ +

Procédons par étapes.

+ +

1) On commence par créer un fichier .passwds qui +contiendra les renseignements sur les personnes autorisées. Pour ce +faire, on tape :

+ +
htpasswd -c .passwds toto
+ +

Ce qui crée à la fois .htpasswd et l'utilisateur toto, +pour lequel on vous demande un mot de passe.

+ +
+clipper ~ $ htpasswd -c .passwds
+toto
+New password:
+Re-type new password:
+Adding password for user toto
+
+ +

Pour ajouter d'autres utilisateurs : htpasswd .htpasswd +titi. Pour en retirer, il suffit d'éditer le fichier et +d'effacer la ligne correspondant à l'utilisateur +concerné. htpasswd chiffre les mots de passe (en +utilisant une variante de md5), qui ne figurent donc pas en clair dans +les fichiers.

+ +

Pour en savoir plus, consultez la page de +man de htpasswd.

+ +

2) On en revient à .htaccess et on tape :

+ +
+AuthType Basic
+AuthUserFile ~/www/repertoire/.passwds # endroit où vous conservez les mots de passe
+AuthName "Entrez votre mot de passe" # ici vous indiquez ce qui figurera dans la barre de titre de la fenêtre
+require valid-user
+
+ +

Si vous voulez protéger par mot de passe seulement certaines +parties du site, il faut créer un .htaccess dans le +répertoire concerné.

+ +

Vous ne voulez peut-être pas que l'on sache où vous rangez vos mots +de passe. Il faut dans ce cas empêcher l'accès au fichier +.htaccess lui-même. Pour protéger le fichier, +taper :

+ +
+<Files .htaccess>
+order allow,deny
+deny from all
+</Files>
+
+ +

Pour des raisons similaires, il vaut mieux ranger .passwds dans des +répertoires non publics (cf. la doc sur les droits d'accès).

+ +
+ Auteur : Marie-Lan Nguyen. Dernière modification le 2002-12-06. +
+ + + + diff --git a/internet/web/index.tml b/internet/web/index.tml index 5fd02b0..70ca59f 100644 --- a/internet/web/index.tml +++ b/internet/web/index.tml @@ -8,14 +8,15 @@ -

Le World Wide Web

+

Le Web

+ +

Dans cette partie, nous parlerons de tout ce qui touche au World Wide Web : navigateurs, langage HTML, +nétiquette...

-

-Une page vide pour servir d'index. -

-Auteur : Nicolas George. Dernière modification le 2002-12-06. +Auteur : Marie-Lan Nguyen. Dernière modification le 2002-12-09.