.htaccess

willi4m

Membre confirmé
18 Février 2004
39
0
36
Liège
weaverman.free.fr
hi,
Alors là ca fait 1 mois que j'essaye de protéger un dossier de cette façon et j'y suis tjs pas arriver. Il est temps que je demande de l'aide :siffle:

Je voudrais simplement protégé un dossier par un login&pass

mais tjs j'ai scette erreur
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request
J'trouve vraiment pas le bon code a inséré dans le .htaccess :sick:
Une bonne âme peut m'aidez svp :rolleyes:
 
Salut,

J'ai trouvé il y a un moment un script écrit par Yann d'Alaury. Tu le trouvera sur le site de Toulouse renaissance. Tout est expliqué et facile à mettre en ½uvre. En plus, ça marche ;).

Lis bien, à la fin de la page, il y a quelques recommandations pour certains hébergeurs (Amen, not.).

Bon courage
 
salut,

j'ai pas mal galere pour faire une page protégée, pour une raison que j'ignore fetch modifiait mon fichier.thaccess.
il te faudra de toute facon modifier le nom du fichier sur le serveur, car tu ne peux pas creer de nom de fichier commencant par un "." sous mac os x
voici donc la precedure :
bon courage

Restriction d'accès à vos pages web

Ce système permet de restreindre l'accès à vos pages Web par l'utilisation d'un fichier .htaccess. Ainsi, lorsqu'une personne veut accéder à une page Web, elle doit rentrer un login et un mot de passe.

Afin de comprendre comment l'utiliser, supposons que vous souhaitez protéger le répertoire appelé secret qui est accédé par l'URL http://www.mondomaine.fr/secret/

Etape 1 : Création d'une table d'utilisateurs. Il s'agit de stocker une liste d'utilisateurs et leur mot de passe correspondant dans un fichier. Le fichier ressemble à cela :

martin:pasSw0rd
jean:SecR3t
sophie:H1dDeN

Premier champ: le nom de l'utilisateur
Second champ: le mot de passe en clair.

Notes:
• Vous devez transférer ce fichier en mode ASCII (voir documentation de votre client FTP) pour assurer la conversion des caractères 'fin de ligne'.
•Vous pouvez stocker ce fichier dans n'importe quel répertoire de votre site mais il faudra en spécifier le chemin dans la directive PerlSetVar AuthFile

Etape 2 : Activer la restriction d'accès

Pour limiter l'accès aux utilisateurs déclarés dans le fichier passlist, vous devez créer un fichier .htaccess dans le répertoire que vous souhaitez limiter.

Remarques : Sous plate-forme Microsoft Windows, il n'est pas possible de créer directement sur votre ordinateur un fichier portant le nom ".htaccess". Vous devez le créer avec un autre nom, le transférer sur le serveur, puis le renommer.

Exemple :
• Vous créez un fichier toto.txt dans lequel vous saisissez les paramètres de votre futur
fichier .htaccess
• Vous le copiez sur le serveur.
• Avec votre logiciel FTP renommez le en .htaccess

PerlSetVar AuthFile secret/passlist
AuthName "Acces Restreint"
AuthType Basic

<limit GET POST>
require valid-user
</limit>

La commande PerlSetVar désigne le chemin d'accès à la table des utilisateurs. Il est relatif à la racine de votre répertoire. Donc si vous avez stocké votre table d'utilisateurs dans le repertoire secret/password/ sous le nom 'maliste.txt', vous devez modifier la directive PerlSetVar AuthFile en conséquence : PerlSetVar AuthFile secret/password/maliste.txt

La commande require valid-user autorise tous les utilisateurs valides à télécharger les fichiers du répertoire. Vous pouvez aussi utiliser require user martin sophie pour autoriser uniquement les utilisateurs martin et sophie, mais pas jean.
 
  • J’aime
Réactions: molgow
Il est vrai que la solution proposée par Powerdom, et son résultat, est beaucoup plus didactique que la mienne qui se résume à uploader un fichier dans le répertoire à protéger. L'avantage de la solution que propose Yann d'Alaury c'est que le mot de passe est crypté. C'est donc une sécurité en plus.

Tu devrais, en outre, créer une page de redirection vers la racine de ton site à l'intérieur de tes dossiers afin que nu ne puisse y accéder.

Dans mon cas, dans chaque dossier à protéger il y a :
- .htaccess,
- .htpasswd,
- ce qui ouvre une fenêtre de login il n'est pas nécessaire d'inclure une page index.htm à ce niveau).

Et un fichier index.htm (à ne pas confondre avec la page de démarrage de ton site, et donc à ne pas placer à la racine de ce dernier) dans es dossiers qui ne sont pas à protéger absolument mais qui ne peuvent quand même pas être ouverts dans la fenêtre du navigateur.

Le code de la page index.htm est :

Bloc de code:
<html>
<head>
<title>Vous allez &ecirc;tre redirig&eacute;</title>
<meta http-equiv="refresh" content="2; URL=http://www.TON_SITE.FR/">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
</html>

Et non je ne suis pas parano ;)
 
... malheureusement cela ne donne rien...
J'ai essayé la méthode avec le script, j'ai pu l'uploader, créer un utilisateur... et puis... rien... lorsque je vais sur la page, j'obtiens: "The server encountered an internal error or misconfiguration and was unable to complete your request." En théorie, après avoir créé un utilisateur, je n'ai qu'à aller sur la page non? Auriez-vous une solution?

Quant à la solution de Powerdom, qui est celle de Free (mon fai)... idem...
Pourriez-vous me dire où j'ai faux?
- Avec TextEdit je crée un document que j'appelle Test.txt et j'y tape: Premier:Test
- Toujours avec TextEdit, je crée un document que j'appelle Truc.txt et j'y tape:
PerlSetVar AuthFile Test/Test.txt
AuthName "Acces Restreint"
AuthType Basic
require valid-user
- Avec Transmit je transèfre tout sur ma page Machin.free.fr (non ce n'est pas ma vraie page) dans un dossier que j'appelle Test
- Je renome Truc.txt en .htaccess, le fichier disparaît
Et là... euh... ai-je oublié quelque chose? Sans doute que oui, car j'ai une erreur quand je veux me connecter à http://Machin.free.fr/Test

Si quelqu'un pouvait m'aider ce serait fort sympa!

Merci!

A.
 
Adrienhb a dit:
... malheureusement cela ne donne rien...
J'ai essayé la méthode avec le script, j'ai pu l'uploader, créer un utilisateur... et puis... rien... lorsque je vais sur la page, j'obtiens: "The server encountered an internal error or misconfiguration and was unable to complete your request." En théorie, après avoir créé un utilisateur, je n'ai qu'à aller sur la page non? Auriez-vous une solution?

Quant à la solution de Powerdom, qui est celle de Free (mon fai)... idem...
Pourriez-vous me dire où j'ai faux?
- Avec TextEdit je crée un document que j'appelle Test.txt et j'y tape: Premier:Test
- Toujours avec TextEdit, je crée un document que j'appelle Truc.txt et j'y tape:
PerlSetVar AuthFile Test/Test.txt
AuthName "Acces Restreint"
AuthType Basic
require valid-user
- Avec Transmit je transèfre tout sur ma page Machin.free.fr (non ce n'est pas ma vraie page) dans un dossier que j'appelle Test
- Je renome Truc.txt en .htaccess, le fichier disparaît
Et là... euh... ai-je oublié quelque chose? Sans doute que oui, car j'ai une erreur quand je veux me connecter à http://Machin.free.fr/Test

Si quelqu'un pouvait m'aider ce serait fort sympa!

Merci!

A.

Je dois partir, mais, de prime abord, je crois, et je suis même certain, que le script ne fonctionne pas sur Free.

J'ai oublié de préciser que mon hébergeur est OVH.

Pour un script free, tente ça :

Le script à placer dans le dossier à protéger

Bloc de code:
PerlSetVar AuthFile /QUI_REMPLACE_LE_DOSSIER_A_PROTEGER/QUI_EST_LE_FICHIER_AVEC_LES_IDENTIFIANTS.txt
AuthName "ProtectedArea"
AuthType Basic
require valid-user

Le fichier avec les identifiants et mots de passe :

Bloc de code:
identifiant1:moddepasse1
identifiant2:moddepasse2
identifiant3:moddepasse3

À plus.
 
Je ne pige pas là. Sur mon compte Free ça fonctionne.

Vérifies bien que tu upload en ASCII.

Et modifies le CHMOD sur ton ibook, 644 pour les deux fichiers.

Enfin, créer un dossier sessions à la racine de ton web.
 
Molgow, merci... mais euuuh... c'est cette page que j'essaie de suivre... ;)

Zenop... p'tet que tout vient de là, mais là tu parles en chinois pour moi... comment puis-je m'assurer que je transfère en ascii et euh, c'est quoi cette histoire de chmod pour mon iBook? :nailbiting:

Merci,

A.
 
Adrienhb a dit:
Molgow, merci... mais euuuh... c'est cette page que j'essaie de suivre... ;)

Zenop... p'tet que tout vient de là, mais là tu parles en chinois pour moi... comment puis-je m'assurer que je transfère en ascii et euh, c'est quoi cette histoire de chmod pour mon iBook? :nailbiting:

Merci,

A.

L'ASCII c'est le mode de transfert des fichiers textes. Pour la petite histoire et en résumé, ton logiciel de FTP transfert en Binaire (images...) ou en ASCII (textes...). Perso, j'utilise Cyberduck (gratuiciel) ; dans les « Préférences », tu cliques sur l'icône FTP et, « Mode de transfert par défaut », tu choisis ASCII (ou Auto).

S'agissant du CHMOD, c'est pas compliqué non plus, tu dois même l'avoir déjà fait. Il s'agit de modifier les droits des utilisateurs sur un fichier via Pomme + i. En bas de la fenêtre Infos des fichiers à modifier tu as les utilisateurs et leurs droits. Il faut donc, à « Propriétaire et autorisations » modifier les options « Accès » et « Autres » du module « Groupe » pour les passer de Lecture seulement à Lecture et écriture. C'est pas très grave de faire ça dans la mesure où cela concerne un fichier illisible depuis un navigateur (le .htaccess) et un autre qui ne l'est pas plus puisqu'il est dans un dossier protégé.

N'oublies pas de créer un dossier « sessions » à la racine de ton site.

Je ne sais pas si je suis plus clair.

Bon courage !
 
zenop a dit:
L'ASCII c'est le mode de transfert des fichiers textes. Pour la petite histoire et en résumé, ton logiciel de FTP transfert en Binaire (images...) ou en ASCII (textes...). Perso, j'utilise Cyberduck (gratuiciel) ; dans les « Préférences », tu cliques sur l'icône FTP et, « Mode de transfert par défaut », tu choisis ASCII (ou Auto).

S'agissant du CHMOD, c'est pas compliqué non plus, tu dois même l'avoir déjà fait. Il s'agit de modifier les droits des utilisateurs sur un fichier via Pomme + i. En bas de la fenêtre Infos des fichiers à modifier tu as les utilisateurs et leurs droits. Il faut donc, à « Propriétaire et autorisations » modifier les options « Accès » et « Autres » du module « Groupe » pour les passer de Lecture seulement à Lecture et écriture. C'est pas très grave de faire ça dans la mesure où cela concerne un fichier illisible depuis un navigateur (le .htaccess) et un autre qui ne l'est pas plus puisqu'il est dans un dossier protégé.

N'oublies pas de créer un dossier « sessions » à la racine de ton site.

Je ne sais pas si je suis plus clair.

Bon courage !

Merci c'est beaucoup plus clair. J'essaie ça ce soir de retour sur mon mac. Mais juste une question: Pourquoi un dossier "sessions"? Il faut vraiment qu'il s'appelle ainsi? :nailbiting:

A.
 
Adrienhb a dit:
Merci c'est beaucou plus clair. J'essaie ça ce soir de retour sur mon mac. Mais juste une question: Pourquoi un dossier "sessions"? Il faut vraiment qu'il s'appelle ainsi? :nailbiting:

A.

A priori ce dossier, qui doit être impérativement nommé sessions, sert à enregistrer les sessions, c'est-à-dire les entrées et les sorties, sur ton site, de tes utilisateurs enregistrés. C'est interne au système.

À ce propos, tu fais bien d'en parler du dossier sessions, j'avais oublié un petit détail d'importance. Comme les mots de passe ne sont pas cryptés sur Free, il faut aussi protéger le dossier sessions, sinon n'importe qui peut y accéder, ouvrir les logs de session et récupérer les mots de passe. C'est intelligemment fait sur Free... Non ?

La solution, c'est de créer un fichier .htaccess contenant le texte suivant :
Bloc de code:
deny from all
Tu y as toujours accès depuis ton FTP.

À plus.
 
  • J’aime
Réactions: Adrienhb
Bon, en effet les autorisations de mes fichiers n'étaient pas bonnes... mais une fois en ligne elles sont redevenues en lecture seulement???
Bon j'ai bien pu uploader en ascii avec cyberduck mais impossible de renomer le fichier...

Bref... je vais me coucher, je reverrais ça au clair demain ou dans quelques jours.

Encore merci pour votre aide et si vous avez d'autres précisions, je suis prenneur.

A. :zen:
 
zenop a dit:
A priori ce dossier, qui doit être impérativement nommé sessions, sert à enregistrer les sessions, c'est-à-dire les entrées et les sorties, sur ton site, de tes utilisateurs enregistrés. C'est interne au système.

À ce propos, tu fais bien d'en parler du dossier sessions, j'avais oublié un petit détail d'importance. Comme les mots de passe ne sont pas cryptés sur Free, il faut aussi protéger le dossier sessions, sinon n'importe qui peut y accéder, ouvrir les logs de session et récupérer les mots de passe. C'est intelligemment fait sur Free... Non ?

La solution, c'est de créer un fichier .htaccess contenant le texte suivant :
Bloc de code:
deny from all
Tu y as toujours accès depuis ton FTP.

À plus.

Je ne comprends pas ce qu'est ce dosiser "sessions". session est un mot réservé ?

Albert
 
bonjour,
je voudrai mettre en place l'authentification des sites web à l'aide du fichier .htaccess et .htpasswd sur la distribe WhiteBox 4 (tiré de la RedHat EL 4).
et j'avoue que je galère un peu !! je n'ai pas bien pigé la façon de mettre tout ça en place !
j'ai créer le fichier .htaccess (stocker dans le répertoire du dit site), idem pour le fichier .htpasswd.
mais, je ne suis pas sùr des syntaxes et des infos à paramètrer dans .htaccess !!
faut-il complèter le fichier httpd.conf ou pas ?
si quelqu'un avait le courage et les compétences pour m'aider se serait vraiment sympas, :)

P.S. : je n'ai pas mis le contenu des fichiers dans le post pour ne pas trop charger, mais si il y a besoin y'a pas de problème
 
Bon... je suis sûr que c'est archi simple, qu'il y a un truc tout bête que j'ai oublié... mais marre d'essayer en vain... Zenop, encore merci pour ton aide.

A. qui attendra de trouver quelqu'un qui pourra lui montrer :( :rose:
 
zenop a dit:
A priori ce dossier, qui doit être impérativement nommé sessions, sert à enregistrer les sessions, c'est-à-dire les entrées et les sorties, sur ton site, de tes utilisateurs enregistrés. C'est interne au système.

À ce propos, tu fais bien d'en parler du dossier sessions, j'avais oublié un petit détail d'importance. Comme les mots de passe ne sont pas cryptés sur Free, il faut aussi protéger le dossier sessions, sinon n'importe qui peut y accéder, ouvrir les logs de session et récupérer les mots de passe. C'est intelligemment fait sur Free... Non ?

La solution, c'est de créer un fichier .htaccess contenant le texte suivant :
Bloc de code:
deny from all
Tu y as toujours accès depuis ton FTP.

À plus.

Quel est donc ce dossier "sessions" ?
Albert