Le fichier ".htaccess" est le fichier qui va contenir les "régles de protection" à mettre en oeuvre.
Il est crée simplement, à l'aide d'un éditeur de texte. Il est placé ensuite dans le répertoire à "protéger".
Structure du fichier :
- AuthUserFile chemin_du_fichier
spécifie le chemin d'accés (depuis la racine) au fichier ".htpasswd".
- AuthGroupFile chemin_du_fichier
spécifie le chemin d'accés (depuis la racine) au fichier ".htgroup"
- AuthName "message"
spécifie le texte à afficher dans la boite de dialogue d'authentification...
- AuthType type
type d'authentification à mettre en oeuvre.
Authentification par mot de passe :
Méthode permettant une identification de type "login/password". L'utilisateur donne son nom et ensuite
le mot de passe qui lui correspond. Le serveur procéde alors à une vérification depuis le fichier
".htpasswd". L'accés est ensuite autorisé ou, au cas échéant, refusé...
AuthUserFile /usr/local/bin/www/repass/.htpasswd
AuthGroupFile /dev/null
AuthName "Bienvenue"
AuthType Basic
<limit GET>
require valid-user
</Limit>
|
-
Structure :
- AuthUserFile /usr/local/bin/www/repass/.htpasswd :
spécifie le chemin d'accés (depuis la racine) au fichier ".htpasswd".
- AuthGroupFile /dev/null :
spécifie le chemin d'accés (depuis la racine) au fichier ".htgroup" (/dev/null).
- AuthName "Bienvenue" :
spécifie le texte à afficher dans la boite de dialogue d'authentification...
- AuthType basic :
type d'authentification à utiliser.
- <Limit GET> :
bloc contenant des directives concernant les différentes méthodes d'accés (ici GET).
- require valid-user :
permet l'accés à tous utilisateurs possédant une entrée dans "AuthUserFile".
- </Limit> :
fermeture du bloc Limit (similaire au HTML...).
Dans notre exemple seul les utilisateurs "Gangstuck et Martony" pourront accéder aux données...
Authentification par nom d'utilisateur :
Cette méthode permet de s'identifier uniquement grace à un nom d'utilisateur valide (sans mot de passe).
Biensur, cette authentification est trés dangereuse du fait de sa simplicitée...
AuthUserFile /usr/local/bin/www/repass/.htpasswd
AuthGroupFile /usr/local/bin/www/repass/.htgroup
AuthName "identification utilisateur"
AuthType Basic
<limit GET>
require user medgi rox lionel ohm ad
</Limit>
|
-
Structure :
- AuthUserFile /usr/local/bin/www/repass/.htpasswd :
spécifie le chemin d'accés (depuis la racine) au fichier ".htpasswd".
- AuthGroupFile /usr/local/bin/www/repass/.htgroup :
spécifie le chemin d'accés (depuis la racine) au fichier ".htgroup" (authentification de type group).
- AuthName "identification utilisateur" :
spécifie le texte à afficher dans la boite de dialogue d'authentification...
- AuthType basic :
type d'authentification à utiliser.
- <Limit GET> :
bloc contenant des directives concernant les différentes méthodes d'accés (ici GET).
- require user medgi rox lionel ohm ad :
permet l'accés aux utilisateurs "medgi, rox, lionel, ohm et ad" d'accéder au répertoire. Chaque utilisateur ne spécifiera aucun mot de passe.. uniquement son nom d'utilisateur (contenu dans la liste).
- </Limit> :
fermeture du bloc Limit (similaire au HTML...).
Authentification par domaine Internet :
Cette méthode va nous permettre d'autoriser ou de refuser l'accés aux pages HTML à toutes personnes
venant d'un même domaine. Dans notre cas, on accepte toutes personnes venant des domaines "univ.fr" et
"univ.mc", les autres requêtes sont rejetées...
Ici, on aura uniquement besoin d'un fichier .htaccess
pour effectuer ce type de protection... nous verrons par la suite comment doubler cette authentification
avec, en plus, une identification par mot de passe...
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "identification Internet"
AuthType Basic
<limit GET>
order deny,allow
deny from all
allow from univ.fr
allow from univ.mc
</Limit>
|
-
Structure :
- AuthUserFile /dev/null :
Dans ce cas "/dev/null" car l'authentification ne se base pas sur le fichier .htpasswd.
- AuthGroupFile /dev/null :
Dans ce cas "/dev/null" car l'authentification ne se base pas sur le fichier .htgroup.
- AuthName "identification Internet" :
spécifie le texte à afficher dans la boite de dialogue d'authentification...
- AuthType basic :
type d'authentification à utiliser.
- <Limit GET> :
bloc contenant des directives concernant les différentes méthodes d'accés (ici GET).
- order deny,allow :
déclaration de l'ordre des régles à savoir : deny (refuse) puis allow (autorise).
- deny from all :
Directive indiquant le refus d'accés concernant toutes requetes.
- allow from univ.fr / univ.mc :
Directive indiquant l'autorisation d'accés des domaines "univ.fr" et "univ.mc".
- </Limit> :
fermeture du bloc Limit (similaire au HTML...).
Nous allons maintenant voir comment refuser l'accés à un domaine internet en particulier :
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "identification Internet"
AuthType Basic
<limit GET>
order allow,deny
allow from all
deny from pasbo.fr
</Limit>
|
-
Structure :
- AuthUserFile /dev/null :
Dans ce cas "/dev/null" car l'authentification ne se base pas sur le fichier .htpasswd.
- AuthGroupFile /dev/null :
Dans ce cas "/dev/null" car l'authentification ne se base pas sur le fichier .htgroup.
- AuthName "identification Internet" :
spécifie le texte à afficher dans la boite de dialogue d'authentification...
- AuthType basic :
type d'authentification à utiliser.
- <Limit GET> :
bloc contenant des directives concernant les différentes méthodes d'accés (ici GET).
- order allow,deny :
déclaration de l'ordre des régles à savoir : allow (autorise) puis deny (refuse).
- allow from all :
Directive indiquant l'autorisation d'accés à tout le monde.
- deny from pasbo.fr :
Directive indiquant le refus d'accés au domaine "pasbo.fr".
- </Limit> :
fermeture du bloc Limit (similaire au HTML...).
Authentification par domaine Internet et .htpasswd/.htgroup :
Cette méthode va nous permettre d'authentifier une connection par domaine mais également par
mot de passe.
Ici, on mettra en oeuvre un fichier .htaccess ainsi qu'un fichier .htpasswd. Nous verrons par
la suite comment varier cette authentification avec par exemple, la présence d'un fichier type .htgroup.
AuthUserFile /usr/local/bin/www/repass/.htpasswd
AuthGroupFile /dev/null
AuthName "identification Internet et utilisateur"
AuthType Basic
<limit GET>
order deny,allow
deny from all
allow from univ.fr
require valid-user
satisfy any
</Limit>
|
-
Structure :
- AuthUserFile /usr/local/bin/www/repass/.htpasswd :
spécifie le chemin d'accés (depuis la racine) au fichier ".htpasswd".
- AuthGroupFile /dev/null :
Dans ce cas "/dev/null" car l'authentification ne se base pas sur le fichier .htgroup.
- AuthName "identification Internet et password" :
spécifie le texte à afficher dans la boite de dialogue d'authentification...
- AuthType basic :
type d'authentification à utiliser.
- <Limit GET> :
bloc contenant des directives concernant les différentes méthodes d'accés (ici GET).
- order deny,allow :
déclaration de l'ordre des régles à savoir : deny (refuse) puis allow (autorise).
- deny from all :
Directive indiquant le refus d'accés concernant toutes requetes.
- allow from univ.fr :
Directive indiquant l'autorisation d'accés au domaine "univ.fr".
- require valid-user :
permet l'accés à tous utilisateurs possédant une entrée dans "AuthUserFile".
- satisfy any :
permet de définir l'accés selon le respect d'une des deux conditions (sous-domaine ou password). L'utilisateur qui n'appartient pas au sous-domaine univ.fr pourra, s'il posséde un accés dans le fichier .htpasswd, accéder aux données.. Quand aux personnes d'univ.fr, ils accéderont aux données normalement.
- </Limit> :
fermeture du bloc Limit (similaire au HTML...).
Ici nous allons mettre en oeuvre deux authentifications différentes à savoir authentification par
sous-domaine et par groupe. Les deux conditions doivent être respéctée :
AuthUserFile /usr/local/bin/www/repass/.htpasswd
AuthGroupFile /usr/local/bin/www/repass/.htgroup
AuthName "identification Internet et group"
AuthType Basic
<limit GET>
order deny,allow
deny from all
allow from univ.fr
require group intranet
satisfy all
</Limit>
|
-
Structure :
- AuthUserFile /usr/local/bin/www/repass/.htpasswd :
spécifie le chemin d'accés (depuis la racine) au fichier ".htpasswd".
- AuthGroupFile /usr/local/bin/www/repass/.htgroup :
spécifie le chemin d'accés (depuis la racine) au fichier ".htgroup" (authentification de type group).
- AuthName "identification Internet" :
spécifie le texte à afficher dans la boite de dialogue d'authentification...
- AuthType basic :
type d'authentification à utiliser.
- <Limit GET> :
bloc contenant des directives concernant les différentes méthodes d'accés (ici GET).
- order deny,allow :
déclaration de l'ordre des régles à savoir : deny (refuse) puis allow (autorise).
- deny from all :
Directive indiquant le refus d'accés concernant toutes requetes.
- allow from univ.fr :
Directive indiquant l'autorisation d'accés au domaine "univ.fr".
- require group administrateurs :
permet l'accés à tous utilisateurs possédant une entrée dans "AuthUserFile" et faisant partie du groupe "administrateurs" (gang, marty).
- satisfy all :
les deux contraintes doivent être respéctée à savoir : toutes personnes devra être connectée depuis le sous-domaine "univ.fr" et faire partie du groupe "administrateurs" contenu dans le fichier ".htgroup" (voir plus haut). Uniquement dans les deux cas suivant l'utilisateur se verra délivrer un accés aux ressources...
- </Limit> :
fermeture du bloc Limit (similaire au HTML...).