Accueil > Manip’s > FREE & HTACCESS > Accès protégé par un mot de passe
Free & Htaccess
Accès protégé par un mot de passe
require valid-user
mercredi 31 janvier 2007, par
Sans plus attendre voyons maintenant comment mettre un mot de passe pour accéder à un dossier sur FREE
Nous avions vu dans la leçon précédente
Nom de fichier :
.htaccess
Contenu :
deny from all
L’accès filtré est à peine plus complexe à mettre en oeuvre
Il nous faut 3 fichiers placés dans 2 dossiers distincts
1. Dans le dossier à filtrer
-dit dossier courant (ici mesbebes) nous créons un 1er fichier nommé
.htaccess
Qui devra contenir ces 4 lignes :
PerlSetVar AuthFile file/mesbebes.pw
AuthName "Mes Bébés"
AuthType Basic
require valid-user
Je vous conseille de copier-coller ces lignes car chaque lettre compte
- Il faut bien écrire PerlSetVar AuthFile
- et pas Perlsetvar authfile
- ATTENTION
- à la place des lettres majuscules et des minuscules
- A mettre des Slashs UNIX / et non des antislashes Windows
2. Il faut créer un nouveau dossier sur le serveur
Ici appelé file (mais le nom importe peu du moment qu’il ne comporte ni accents ni espaces)
Et qui va contenir le fichier des mots de passe
3. Le fichier des mots de passe
s’appelle ici mesbebes.pw (là encore peu importe son nom)
- Mais il doit être strictement identique à celui spécifié dans la ligne AuthFile)
mesbebes.pw
placé dans le dossier
file
est appelé par la directive
PerlSetVar AuthFile file/mesbebes.pw
Si je veux un fichier
.htpassword
placé dans le dossier
perso
Je dois écrire
PerlSetVar AuthFile perso/.htpassword
Le fichier des mots de passe, est un fichier texte qui aura toujours cette structure
identite :motdepasse
C’est à dire
- à gauche => le Nom de l’utilisateur
- suivi de => 2 points
- suivi de => son mot de passe en clair à droite
- Sans aucun espaces !!!
IL EST EXTREMEMENT IMPORTANT
De créer ce fichier UNIQUEMENT AVEC LE BLOC NOTES
N’utilisez jamais WORD
Ni même le WordPad
TOUJOURS LE BLOCNOTES (notepad)
Par exemple nous décidons avec François de créer un fichier avec
- notre nom comme utilisateur
- et notre prénom comme mot de passe
fichier_des_mots_de_passe
dupont:jean
durand:jacques
Si je veux pouvoir taper les noms sans tenir compte de la casse (MAJUSCULES) je dois faire 2 entrées de cette façon
dupont:jean
DUPONT:JEAN
durand:jacques
DURAND:JACQUES
Nous pouvons désigner n’importe quel dossier existant et n’importe quel nom de fichier pour les mots de passe
MAIS ATTENTION
- Le fichier des mots de passe doit être protégé par une barrière infranchissable car FREE refuse les mots de passe chiffrés (si c’est une passoire ce n’est pas la peine d’avoir un mot de passe)
Nous allons donc placer juste à côté du fichier mesbebes.pw -Notre tout premier fichier :
.htaccess
créé dans la leçon précédente et qui contient la ligne deny from all
ce qui interdit l’accès à toute tentative d’intrusion par le web
Je vous donne comme exemple pratique la construction à faire pour installer un fichier des gardes entre 2 médecins
En GRAS ROUGE LES DOSSIERS
En Bleu les Fichiers
En vert italique le contenu des fichiers
++++ DOSSIER
- mesgardes /
- .htaccess
- PerlSetVar AuthFile file/mesgardes.pw
- AuthName "Gestion des Gardes"
- AuthType Basic
- require valid-user
- agenda.php
- etc...
- .htaccess
DOSSIER
- file /
- mesgardes.pw
- .htaccess
- mesgardes.pw
++++
ATTENTION
- Le nom des fichiers s’écrit toujours en minuscules
- On ne peut renommer htaccess en .htaccess que sur le serveur en lui rajoutant un point avant le h et en supprimant toute extension
EXERCICE
- A vous de trouver le mot de passe pour voir mes bébés
- http://bluegyn.com/mesbebes/
DOSSIER
- mesgardes /
- .htaccess
- PerlSetVar AuthFile file/mesbebes.pw
- AuthName "Mes Bébés"
- AuthType Basic
- require valid-user
- agenda.php
- etc...
- .htaccess
DOSSIER
- file /
- mesgardes.pw
- .htaccess
- deny from all
- mesgardes.pw
Facile non ?
Fichiers Exemples
Messages
1. Accès protégé par un mot de passe, 4 juin 2006, 16:19, par MiNi iEn
J’ai bien effectuer toutes les manipulations voulues.
Mais quand je rentre le bon mot de passe et le bon identifiant, Rien ne se passe et il me le redemande.
La htaccess se trouvant dans le dossier "file" n’empecherait pas le htaccess dans le dossier courant d’acceder aux mot de passe ?
Cordialement
Mini iEn
1. Accès protégé par un mot de passe, 4 juin 2006, 23:13, par bluegyn
Il doit y avoir une erreur de manip
Car cela fonctionne parfaitement sur tous les sites free que je connais
PREAMBULE
Sur le site créez un dossier nommé file (par exemple)
Sur le disque créez 3 fichiers
1- htaccess.txt
2- htaccess_file.txt
3- motdepasse.txt
DANS motdepasse.txt écrivez
admin deux points admin
DANS htaccess_file.txt écrivez
En minuscules
AVEC LE FTP
Placez ces 2 fichiers dans le nouveau dossier file
motdepasse.txt
htaccess_file.txt
Maintenant tapez votre URL pour tenter d’ouvrir votre fichier des mots de passe
Horreur tout le monde peut lire vos mots de passe
Maintenant
Prenez le fichier htaccess_file.txt et renommez le sur le site
.htaccess
Point au début
En minuscules
Rien après htaccess
Lancez l’URL
Vous devez obtenir ce message
Est ce que ça fonctionne ?
Si ça ne fonctionne pas, il est inutile d’aller plus loin
Vous avez fait une erreur grossière de manip et il faut tout reprendre !
2. Accès protégé par un mot de passe, 5 juin 2006, 13:40, par Ciol
J’ai le même problème, et pourtant la méthode que vous annoncez dans votre réponse marche. La boîte de dialogue pour le mot de passe reste et n’accepte pas celui ci... j’ai beau recommencer le problème ne se résoud pas.
3. Accès protégé par un mot de passe, 5 juin 2006, 13:53, par Ciol
Prbolème résolut :
Il n’y a pas d’espace entre le nom d’utilisateur et le mot de passe dans le fichier password.
Et il faut aussi transferer le fichier mot de passe en mode ASCII sinon ça ne marche pas, il n’y a pas besoin de mot de passe. Voilà :)
4. Accès protégé par un mot de passe, 5 juin 2006, 22:48, par bluegyn
Oui bien sûr cela me semblait évident, mais vous faites bien de le souligner
FREE est hébergé par un serveur UNIX dont la syntaxe et particulièrement sensible à la casse
Une majuscule n’est pas une minuscule
Et l’espace est considéré comme une rupture de ligne
Ainsi dans l’exemple donné
admin:admin
J’ai bien précisé
admin deux point admin (en minuscules)
(La mise en forme montre un faux espace entre admin et : mais il n’existe pas dans le source)
Si l’on veut saisir la casse en majuscules OU en minuscules il faut écrire les 2 lignes
admin:admin
ADMIN:ADMIN
Tous les fichiers htaccess et password doivent êtré écrit avec le BLOC-NOTES
Jamais avec Write, jamais avec WORD
C’est pourquoi je les appelle htaccess.txt et password.txt (et non htaccess.doc )
Il ne faut mas non plus inclure de retour de ligne (ou de ligne vide) après la dernière ligne
Il faut prendre l’habitude d’écrire ses scripts dans un éditeur de lignes (comme le NotePad, le Notepad Plus Plus ou le PSPAD) qui ne rajoute pas de caractères invisibles incontrôlables, comme le format DOC ou RTF...
5. Accès protégé par un mot de passe, 5 juin 2006, 23:08, par bluegyn
Je suppose donc que vous avez pu placer un fichier
.htaccess
Contenant l’unique ligne
deny from all
Dans votre dossier file (en minuscules)
Et que désormais, il vous est impossible d’y accéder via le protocole HTTP (c’est à dire le navigateur)
En tapant :
http://monsite.free.fr/file/
Vous pouvez donc y placer votre fichier des mots de passe
Car il est maintenant verrouillé
Mais cela n’était que la 1ère étape
Il vous faut créer un second fichier
htaccess.txt
Contenant ces lignes
Et le placer (en mode ASCII donc) dans le dossier à protéger par mot de passe
Par exemple la racine de FREE
Notez la syntaxe parfaite
PerlSetVar
N’est ni Perlsetvar, ni PERLSETVAR
Et htaccess.txt
Doit être renommé
.htaccess
Avec votre FTP sur le site FREE, car seul UNIX tolère l’écriture de fichier commençant par un point.
Dans file/motdepasse.txt
Vous précisez le chemin des fichiers des mots de passe
Vous remarquez que sous UNIX c’est la Barre / qui désigne le chemin (slash) et non l’antislash \ (qui est un caractère de signification particulière)
"TEST"
Désigne l’invite (prompt) qui apparait dans la boite du mot de passe
Dans notre exemple vous tapez
Utilisateur = admin
Mot de Passe = admin
Si votre nom est TOTO
Et votre mot de passe est BONJOUR
Votre fichier motdepasse.txt doit être ainsi construit
TOTO:BONJOUR
Bine que ça ne soit pas évident, il n’y a aucun espace entre les mots et les 2 points.
En fait on voit bien que ce n’est pas très compliqué...
Alors ça marche chez vous ?
6. Accès protégé par un mot de passe, 6 juin 2006, 10:32, par Ciol
J’aurai une question supplémentaire, si bien sûr un didacticiel n’est pas prévu à cet effet pour plus tard, je voulais savoir comment l’on fait pour rediriger un visiteur qui se trompe de mot de passe vers une page personnalisée ? :)
7. Accès protégé par un mot de passe, 6 juin 2006, 13:13, par bluegyn
Bonjour,
Il est toujours possible de rediriger une page qui retourne une erreur
Comme l’erreur 404
Lorsqu’on demande une page qui n’existe pas
En rajoutant la ligne :
à un fichier .htaccess placé lui aussi à la racine / du site
Et en placant une page d’erreur 404 personnalisée à côté
/erreur404.html
VOIR AUSSI ICI
La réponse à un htaccess "deny from all"
Est une erreur de type 403
On pourra donc rajouter en plus la ligne :
Malheureusement le "Mot de passe erroné"
Ne génère aucune erreur "détournable"
La boite de saisie se ré-affiche éternellement jusqu’a saisie des bons renseignements
Un tel outil peut être "assez" facilement programmé en PHP
Et fera l’objet d’une prochaine leçon... (car PHP est un peu plus complexe à programmer qu’un simple HTACCESS-Apache.)
Tout sur les fichiers HTACCESS ici :
8. Accès protégé par un mot de passe, 6 juin 2006, 13:44, par bluegyn
Re-bonjour,
Une réponse partielle à votre question,
Puisque l’appui sur la touche échappe pour refermer la Boite d’Accès par mot de passe génère une :
Il suffit donc dans ce cas de créer un fichier
.htaccess
à la racine de FREE
Et d’y placer (ou d’y ajouter) cette ligne
ErrorDocument ("E" & "D" en majuscules sans espace entre Error et Document) puis espace 401 espace Barre / sans espace error401.html
Le fichier error401.html
Contenant par exemple ces lignes
error401.html
9. Accès protégé par un mot de passe, 7 juin 2006, 11:23, par bluegyn
Pour la gestion de l’accès en PHP
Un lien très intéressant ici
Voir en ligne : PHP NET:Identification HTTP avec PHP
10. Accès protégé par un mot de passe, 30 août 2006, 20:03, par Etienne
Bonjour,
Le système fonctionne mais j’ai un gros problème. En effet j’utilise des frame. Le htaccess ne fonctionne pas. Je m’explique si je tape dans le barre d’adresse http://etienne.bretteville.free.fr/cv cela fonctionne. En revanche si j’accède à http://etienne.bretteville.free.fr/cv par le click sur l’étoile du menu, le htaccess n’est pas vu ! Une idée ?
Merci encore
11. Accès protégé par un mot de passe, 30 août 2006, 22:45, par BlueGYN
Votre site est ici
http://etienne.bretteville.free.fr
Cette page est protégée
http://etienne.bretteville.free.fr/cv
Un clic sur le Menu CV appelle cette page
http://etienne.bretteville.free.fr/{{cv.htm
Qui est située dans le DOSSIER
http://etienne.bretteville.free.fr/
Qui n’est pas protégé
Ce n’est donc pas une question de frame c’est une question d’adresse
D’ailleurs vous voyez que si vous appelez CV AU FORMAT HTML
http://etienne.bretteville.free.fr/cv/CV2005.htm
L’accès est protégé car le fichier pointé est dans un dossier protégé
La solution la plus simple est de placer cv.htm dans le dossier /cv/ et de corriger le lien du frame
12. Accès protégé par un mot de passe, 1er septembre 2006, 01:15
Bonjour je test cela de suite et j’edite le post pr tenir au courant.
Merci de votre aide.
13. Accès protégé par un mot de passe, 9 septembre 2006, 23:10
merci bluegyn pour ce tutorial . j’ai pas encore reussi à le faire fonctionner sur ma page free mais je ne desespere pas . le lien pour l’dentification html en php ne marche plus mais je crois l’avoir retrouvé là
http://www.asp-php.net/tutorial/asp-php/dmx_session.php?page=1
14. Accès protégé par un mot de passe, 10 septembre 2006, 10:19, par BlueGYN
Cette page traite de l’identification par mot de passe sur un serveur FREE
Pour l’identification par Script PHP
15. Accès protégé par un mot de passe, 10 septembre 2006, 10:41
j’ai enfin compris d’ou venait mon pb . le transfert sur le ftp doit se faire en mode acscii ce qui n’est pas automatique dans les options du logiciel de ftp (transmit pour mac en ce qui me concerne )
16. Accès protégé par un mot de passe, 11 septembre 2006, 19:56
Bonsoir,
J’ai testé et ça fonctionne pour des dossiers. J’ai toujours des problèmes avec la frame. Peut-être un problème connu ?
Merci en tous cas pour le support.
P.S : Sous firefox après une saisie l’authentification n’est plus demandé...?! Rien dans le gestionnaire de mot de passe.
17. Accès protégé par un mot de passe, 19 septembre 2006, 20:59, par BlueGYN
Oui, la connexion est dite permanente pour une autorisation
Elle n’est valable que pour un utilisateur donné et pour un certain temps ...
18. Accès protégé par un mot de passe, 23 septembre 2006, 23:20, par BlueGYN
En fait l’authentification ouvre une session sécurisée qui reste valable pour un utilisateur,
Pour réinitialiser la session
Il suffit de fermer le navigateur
Pour relancer l’authentification
Il suffit de relancer le navigateur
19. Accès protégé par un mot de passe, 3 octobre 2006, 20:50
Merci pour les infos,
Est-ce que vous connaitriez des scripts open source pour réaliser un accés paramétré et plus sécurisé ?
Merci encore.
20. Accès protégé par un mot de passe, 3 octobre 2006, 21:14, par BlueGYN
Bonjour,
Je suis en train de réaliser un Projet d’Agenda Sécurisé
Et tous les scripts du travail sont disponibles à qui le veut
A voir et à commenter à cette rublique :
21. Accès protégé par un mot de passe, 3 octobre 2006, 22:51, par Etienne50
Bonsoir,
J’ai regardé ça et tout d’abord Bravo pour l’initiative ! Votre accés sécurisé à ceque j’ai pu lire repose sur la fameuse .htaccess de l’html, je l’utilise actuellement, je suis en recherche d’"autre" chose.
Quelquechose du genre :
Une boîte avec Login et Mot de Passe qui fonctionnerais avec les frame ainsi qu’une sécurité "permanente".
Que l’authentification ne soit pas valable tout le tmp de l’ouverture du navigateur.
Encore merci.
Voir en ligne : http://etienne.bretteville.free.fr
22. Accès protégé par un mot de passe, 4 octobre 2006, 22:13, par BlueGYN
Il semble assez simple de créer une page avec un mot de passe,
Vient ensuite le problème de propager la sécurité d’une page à une autre
Et la, c’est vrai que le travail par session est idéal, puisque tout peut être enregistré dans des variables secrètes de type $_SESSION[], que chaque page ouverte au cours d’une même session peut interroger et authentifier.
Malheureusement la session reste active tant que le navigateur est ouvert
Il est cependant possible de forcer la fermeture d’une session par un ordre de déconnexion.
Dès que j’ai un peu de temps je ferais une leçon particulière sur ce problème d’authentification "à la carte"
Bonne journée, merci de votre intérêt et de votre participation.
23. Accès protégé par un mot de passe, 4 octobre 2006, 22:15, par BlueGYN
Voir aussi ici (SESSIONS)
http://bluegyn.com/spip/article.php...
24. Accès protégé par un mot de passe, 5 octobre 2006, 00:01
Bonsoir,
Je regarde ça quand j’ai 5 min et je repost !
Merci
2. Accès protégé par un mot de passe, 17 août 2006, 14:57, par gilles
bonjour,
merci pour votre tuto mais j’ai un phénoméne curieux si dans .htaccess j’ai :
PerlSetVar AuthFile ht/ht.tx
AuthName "Acces Restreint"
AuthType Basic
require valid-user
et que je lance la page qui est placé dans le même répertoire, rien ne se passe bien que le fichier ht.txt existe bien avec login:pass sans caractère supplémentaire. Pas de protection...
Par contre si dans mon .htaccess j’ai :
PerlSetVar
AuthFile ht/ht.txt
AuthName "Acces Restreint"
AuthType Basicrequire valid-user
(il y un saut de ligne après PerSetVar) j’ai une erreur 500...
les ligne vides ne sont pas dans le fichier ’c’est juste pour la lisbilité..)
De même j’ai vérifié, pas d’expaces ni de tab ni de saut de ligne en fin de ligne ou de fichier..
Comment faire ?
merci
Gilles
1. Accès protégé par un mot de passe, 19 août 2006, 15:41, par BlueGYN
Voila le fichier qui marche
Ce fichier doit IMPERATIVEMENT ETRE EDITE AVEC LE NOTEPAD
Ce fichier contient 4 lignes et 4 seulement (L1-L4),
ce qui veut dire en clair qu’il contient 3 sauts de ligne et 3 seulement (SL1-SL3)
Ce fichier comporte 2 espaces dans la 1ere ligne
1 espace dans les lignes suivantes
Chaque ligne est une instruction chaque espace sépare la fonction et son ou ses arguments
Toutes les instructions sont Casse dépendantes, il faut donc veillez a respecter les majuscules
(Le Mieux est de copier coller les lignes)
Le dossier file doit exister sur le site
Le dossier motdepasse.txt doit exister dans le dossier file sur le site
Le dossier motdepasse.txt doit comporter au moins une ligne
monnom:monmotdepasse
Sans espace et sans retour chariot à la fin
(monnom et monmotdepasse sont bien sur des exemples)
Quant à l’erreur 500 elle correspond à un Blocage du serveur sur un fichier .htaccess "non conforme"
SOLUCE
Il ne faut pas mettre de saut de ligne pour la 1ere instruction qui doit donc tenir sur 1 seule ligne.