Aller au contenu

htpasswd et mysql


Sujets conseillés

Posté

Bonjour a tous !!

Je suis nouveau sur le forum et je suis agréablement supris des réponse aux diff. question !! Je vais conseiller votre site, C promis...

En attendant j'ai un pt'i :wacko: soucis...

J'ai mon aut. par htaccess et htpasswrd qui marche bien mais j'aimerais savoir comment faire pour que je ne sois pas obligé de modifier mon htpasswrd, mais que les log/pass viennent de ma base mysql ???

Je ne sais pas si la réponse est déja en ligne, j'ai cherché mais pas trouvé !

Merci de votre aide... ;)

Posté

Bonjour Hervine, et bienvenue à bord du Hub !

Pour utiliser les authentifications à l'aide de mysql, il faut que tu installes un module supplémentaire pour Apache (mod_auth_mysql) ... en espérant bien sûr que tu tournes Apache ;)

Une fois le module ajouté, il faudra créer une base dédiée sous mysql

mysqladmin create http_auth

Créer une table 'auth':

mysql http_auth
mysql> create table mysql_auth (
   ->   username char(25),
   ->   passwd char(25),
   ->   groups char(25),
   ->   primary key (username)
   -> );

A partir de là, tu ajoutes tes utilisateurs dans cette table.

Les champs 'passwd' doivent contenir les mots de passe encryptés au format DES

Ensuite, il faut signaler à Apache de rechercher les infos d'authentification dans cette table mysql, avec une ligne dans httpd.conf:

Auth_MySQL_Info [host] [user] [password]

Cette ligne n'est pas nécessaire si tu utilises le serveur localhost et que l'utilisateur défini est le même que celui sous lequel tourne apache.

Si tu utilises une seule base pour toutes tes identifications, tu rajoutes cette ligne aussi:

Auth_MySQL_General_DB [database_name]

Ensuite, dans le fichier .htaccess, tu mettras:

AuthName Le titre que tu veux voir apparaître dans le dialogue de login
AuthType Basic
require valid-user

Dan

PS: il y a bien d'autres possibilités que tu trouveras dans la documentation de mod_auth_mysql.

Posté

OK c'est cool ..

Je suis sur Apache mais sur un serv. mutualisé mais comment savoir si le module est installé ?

Mon hebergeur www.amen.fr

en tout cas merci de la rapidité de la reponse !! :)

Posté

Sur hébergement mutualisé, il y a peu de chance que le module soit installé.

Tu peux le savoir en lançant phpinfo(); tu verras tous les modules installés pour Apache.

Dan

Posté

merci !! ;):up:

Donc je n'ai pas d'autre solution ?? A moin de faire un script qui ecrit le fichier .htpasswrd apres l'insertion d'un membre dans la table MYSQL ?

Existe t'il une fonction qui permet de cripter les mot de passe pour htaccess directement dans un script PHP ??

A++

:rolleyes:

Posté
Existe t'il une fonction qui permet de cripter les mot de passe pour htaccess directement dans un script PHP ??

La fonction crypt () dont tu trouveras la page de manuel à cette adresse crypt

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...