Créer un espace membre protégé par .htaccess
34 messages
• Page 1 sur 3 • 1, 2, 3
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Créer un espace membre protégé par .htaccess
Bonjour,
Voilà :
Je sais protéger un répertoire par htaccess (c'est pas un exploit, je sais lol).
Je sais créer un espace membre avec base de donnée etc...
Maintenant, pour la première fois, je veux créer un espace membre protégé par .htaccess.
Et là je ne vois pas qu'elles sont les étapes :
Par exemple, les gens s'inscrivent avec quelles informations (email, passe... ?)
J'enregistre les informations d'inscription dans un fichier ou dans une BD ?
Comment je récupère les informations de l'authentification apache ?
Etc...
Bien sur, chaque espace membre est personnalisé, donc les mots de passe doivent l'être aussi.
Merci de me guider dans ma démarche.
Voilà :
Je sais protéger un répertoire par htaccess (c'est pas un exploit, je sais lol).
Je sais créer un espace membre avec base de donnée etc...
Maintenant, pour la première fois, je veux créer un espace membre protégé par .htaccess.
Et là je ne vois pas qu'elles sont les étapes :
Par exemple, les gens s'inscrivent avec quelles informations (email, passe... ?)
J'enregistre les informations d'inscription dans un fichier ou dans une BD ?
Comment je récupère les informations de l'authentification apache ?
Etc...
Bien sur, chaque espace membre est personnalisé, donc les mots de passe doivent l'être aussi.
Merci de me guider dans ma démarche.
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
Salut,
Je pense qu'il suffit juste de gérer les couples login/pass dans ton fichier htpasswd.
Le .htaccess sera commun à tous les utilisateurs et contiendra
(Où plutôt httpd.conf si tu travailles sur un répertoire à protéger)
...
J'en sais pas plus je n'en fais qu'une utilisation basique.
http://www.commentcamarche.net/apache/apacht.php3
Je pense qu'il suffit juste de gérer les couples login/pass dans ton fichier htpasswd.
Le .htaccess sera commun à tous les utilisateurs et contiendra
(Où plutôt httpd.conf si tu travailles sur un répertoire à protéger)
- Code: Tout sélectionner
AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
AuthGroupFile /dev/null
AuthName "Accès sécurisé au site CCM"
AuthType Basic
...
- Code: Tout sélectionner
<LIMIT GET POST> Require valid-user </LIMIT>
J'en sais pas plus je n'en fais qu'une utilisation basique.
http://www.commentcamarche.net/apache/apacht.php3
- maddanny
- WRInaute occasionnel

- Messages: 282
- Inscription: 22 Mar 2005
dorian53 a écrit:
- Code: Tout sélectionner
<LIMIT GET POST> Require valid-user </LIMIT>
Il NE FAUT PAS utiliser la balise <LIMIT..>
Un simple "Require valid-user" suffit.
MADdanny
- FloBaoti
- WRInaute impliqué

- Messages: 755
- Inscription: 30 Avr 2006
Si tu veux continuer avec une gestion en base de donnée, tu peux aussi gérer l'authentification HTTP par PHP (demander une authentification, récupérer le login de l'utilisateur connecté...).
Sinon il doit aussi exister un mod pour Apache2 qui gère l'authentification d'utilisateurs via une base de donnée.
Sinon à la mano dans un .htpasswd...
Sinon il doit aussi exister un mod pour Apache2 qui gère l'authentification d'utilisateurs via une base de donnée.
Sinon à la mano dans un .htpasswd...
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
maddanny a écrit:dorian53 a écrit:
- Code: Tout sélectionner
<LIMIT GET POST> Require valid-user </LIMIT>
Il NE FAUT PAS utiliser la balise <LIMIT..>
Un simple "Require valid-user" suffit.
MADdanny
Exact, merci pour l'info.
http://httpd.apache.org/docs/2.0/mod/core.html#limit
Access controls are normally effective for all access methods, and this is the usual desired behavior. In the general case, access control directives should not be placed within a <Limit> section.
- jcaron
- WRInaute accro

- Messages: 2685
- Inscription: 13 Fév 2004
Re: Créer un espace membre protégé par .htaccess
Meeuuuhhh a écrit:Maintenant, pour la première fois, je veux créer un espace membre protégé par .htaccess.
Et là je ne vois pas qu'elles sont les étapes :
Par exemple, les gens s'inscrivent avec quelles informations (email, passe... ?)
J'enregistre les informations d'inscription dans un fichier ou dans une BD ?
Comment je récupère les informations de l'authentification apache ?
Trois solutions:
- tu stockes dans ta base de données, et tu utilises un module Apache qui va interroger cette base pour authentifier les utilisateurs. Ce n'est évidemment possible que si tu as un dédié.
- tu stockes dans ta base de données, et tu génères un fichier .htpasswd à partir de cette base
- tu stockes uniquement et directement dans un fichier .htpasswd
La dernière option est la plus simple, mais ça complique un peu les opérations genre modifier un mot de passe (ou un login), supprimer un login, etc.
La première option est la meilleure parce que c'est la plus souple mais c'est aussi la plus rapide si tu as beaucoup d'utilisateurs (si ta table est correctement indexée bien sûr).
Jacques.
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Re: Créer un espace membre protégé par .htaccess
Merci pour toutes vos réponses !
Je reviens sur ces deux là en particulier
Ca ça ne va pas, car l'espace membre doit être personnalisé. Donc ce sont des identifiants différents pour chacun.
Ok, ça ça a l'air d'être bon. Mais je vois pas comment faire.
Le gars s'inscrit, choisi un nom d'utilisateur, un mot de passe etc... j'expédie tout dans la base de donnée. Ok.
Là , je suis obligé de générer un fichier .htpassword, car l'authentification apache ne fonctionne pas depuis la base de donnée, c'est ça ?
Alors là , je ne sais pas comment générer le .htpassword depuis la base de donnée.
Je ne vois pas du tout comment faire pour ça.
Je reviens sur ces deux là en particulier
dorian53 a écrit:Salut,
Je pense qu'il suffit juste de gérer les couples login/pass dans ton fichier htpasswd.
Le .htaccess sera commun à tous les utilisateurs et contiendra
(Où plutôt httpd.conf si tu travailles sur un répertoire à protéger)
- Code: Tout sélectionner
AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
AuthGroupFile /dev/null
AuthName "Accès sécurisé au site CCM"
AuthType Basic
...
- Code: Tout sélectionner
<LIMIT GET POST> Require valid-user </LIMIT>
J'en sais pas plus je n'en fais qu'une utilisation basique.
http://www.commentcamarche.net/apache/apacht.php3
Ca ça ne va pas, car l'espace membre doit être personnalisé. Donc ce sont des identifiants différents pour chacun.
jcaron a écrit:Meeuuuhhh a écrit:Maintenant, pour la première fois, je veux créer un espace membre protégé par .htaccess.
Et là je ne vois pas qu'elles sont les étapes :
Par exemple, les gens s'inscrivent avec quelles informations (email, passe... ?)
J'enregistre les informations d'inscription dans un fichier ou dans une BD ?
Comment je récupère les informations de l'authentification apache ?
Trois solutions:
- tu stockes dans ta base de données, et tu utilises un module Apache qui va interroger cette base pour authentifier les utilisateurs. Ce n'est évidemment possible que si tu as un dédié.
- tu stockes dans ta base de données, et tu génères un fichier .htpasswd à partir de cette base
- tu stockes uniquement et directement dans un fichier .htpasswd
La dernière option est la plus simple, mais ça complique un peu les opérations genre modifier un mot de passe (ou un login), supprimer un login, etc.
La première option est la meilleure parce que c'est la plus souple mais c'est aussi la plus rapide si tu as beaucoup d'utilisateurs (si ta table est correctement indexée bien sûr).
Jacques.
Ok, ça ça a l'air d'être bon. Mais je vois pas comment faire.
Le gars s'inscrit, choisi un nom d'utilisateur, un mot de passe etc... j'expédie tout dans la base de donnée. Ok.
Là , je suis obligé de générer un fichier .htpassword, car l'authentification apache ne fonctionne pas depuis la base de donnée, c'est ça ?
Alors là , je ne sais pas comment générer le .htpassword depuis la base de donnée.
Je ne vois pas du tout comment faire pour ça.
- jcaron
- WRInaute accro

- Messages: 2685
- Inscription: 13 Fév 2004
Re: Créer un espace membre protégé par .htaccess
Meeuuuhhh a écrit:dorian53 a écrit:Je pense qu'il suffit juste de gérer les couples login/pass dans ton fichier htpasswd.
Le .htaccess sera commun à tous les utilisateurs et contiendra
(Où plutôt httpd.conf si tu travailles sur un répertoire à protéger)
- Code: Tout sélectionner
AuthUserFile /repertoire/de/votre/fichier/.FichierDeMotDePasse
AuthGroupFile /dev/null
AuthName "Accès sécurisé au site CCM"
AuthType Basic
- Code: Tout sélectionner
<LIMIT GET POST> Require valid-user </LIMIT>
Ca ça ne va pas, car l'espace membre doit être personnalisé. Donc ce sont des identifiants différents pour chacun.
Ben ça fait exactement ça: il te suffit de mettre une ligne pour chaque utilisateur dans ton .htpasswd.
Meeuuuhhh a écrit:jcaron a écrit:- tu stockes dans ta base de données, et tu génères un fichier .htpasswd à partir de cette base
Ok, ça ça a l'air d'être bon. Mais je vois pas comment faire.
Le gars s'inscrit, choisi un nom d'utilisateur, un mot de passe etc... j'expédie tout dans la base de donnée. Ok.
Là , je suis obligé de générer un fichier .htpassword, car l'authentification apache ne fonctionne pas depuis la base de donnée, c'est ça ?
Pas par défaut, mais il y a des modules qui permettent de le faire (mod_auth_quelquechose, probably mod_auth_mysql pour mysql, flemme de vérifier).
Meeuuuhhh a écrit:Alors là , je ne sais pas comment générer le .htpassword depuis la base de donnée.
Je ne vois pas du tout comment faire pour ça.
Ouvrir fichier
select login,pass de latable where login_valide
pour chaque ligne mettre une ligne dans fichier
fermer fichier
mettre fichier à la place du .htpasswd
Trivial, quoi.
Jacques.
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Ok, je te remercie de ta réponse Jacques.
Pour tout te dire, je ne vois pas ce que c'est que ces "modules". Ca se trouve où ? Ca ressemble à quoi ? Ca s'attrape comment ? On en fait quoi ?
J'ai appris sur le tas, alors question vocabulaire, je suis un peu faiblard.
Je précise à tout hasard que le site sera sur un mutualisé OVH, ça peut avoir de l'importance.
Aussi, quand à la fin tu dis "pour chaque ligne mettre une ligne dans fichier ", c'est à cette étape que le module est censé intervenir, c'est ça ?
Pour tout te dire, je ne vois pas ce que c'est que ces "modules". Ca se trouve où ? Ca ressemble à quoi ? Ca s'attrape comment ? On en fait quoi ?
J'ai appris sur le tas, alors question vocabulaire, je suis un peu faiblard.
Je précise à tout hasard que le site sera sur un mutualisé OVH, ça peut avoir de l'importance.
Aussi, quand à la fin tu dis "pour chaque ligne mettre une ligne dans fichier ", c'est à cette étape que le module est censé intervenir, c'est ça ?
- forummp3
- WRInaute passionné

- Messages: 1982
- Inscription: 8 Fév 2004
c'est pas une question de philosophie, c'est juste pour savoir si on peut te proposer un autre systeme ...Meeuuuhhh a écrit:C'est parce que c'est comme ça, j'ai pas trop envie de philosopher, merci
Bon ben debrouille toi seul si tu veux pas repondre ...
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
forummp3 a écrit:c'est pas une question de philosophie, c'est juste pour savoir si on peut te proposer un autre systeme ...Meeuuuhhh a écrit:C'est parce que c'est comme ça, j'ai pas trop envie de philosopher, merci
Bon ben debrouille toi seul si tu veux pas repondre ...
Non c'est gentil, mais j'ai déjà un autre système sous la main, l'espace membre classique en php, mais là j'ai envie d'essayer avec une authentification apache.
- forummp3
- WRInaute passionné

- Messages: 1982
- Inscription: 8 Fév 2004
ben justement, tu n'as pas besoin d'un htacess pour une authentification apache.Meeuuuhhh a écrit:forummp3 a écrit:c'est pas une question de philosophie, c'est juste pour savoir si on peut te proposer un autre systeme ...Meeuuuhhh a écrit:C'est parce que c'est comme ça, j'ai pas trop envie de philosopher, merci
Bon ben debrouille toi seul si tu veux pas repondre ...
Non c'est gentil, mais j'ai déjà un autre système sous la main, l'espace membre classique en php, mais là j'ai envie d'essayer avec une authentification apache.
tu peux utiliser un code de ce genre:
- Code: Tout sélectionner
<?php
if(!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic entrer="Entrer dans la page" ");
Header("HTTP/1.0 401 Unauthorized");
echo "Vous avez appuyé sur le bouton annuler!!!\n";
exit;
} else {
if ( ($PHP_AUTH_USER == "sebastien") && ( $PHP_AUTH_PW == "azerty" ))
{
echo "<html><body>Bienvenue sur cette page réservée aux membres.<P></body></html>";
}
else
{
echo "<html><body>Vous n'êtes pas autorisé à visionner cette page.<P></body></html>";
}
}
?>
-

Meeuuuhhh - WRInaute passionné

- Messages: 2046
- Inscription: 8 Jan 2007
Oui ça ressemble à ce que je souhaite, j'ai dû mal m'expliquer donc.
Bon je recommence.
Le gars s'inscrit avec un formulaire d'inscription classique : nom, site internet, email, mot de passe, confirmation du mot de passe, validation de l'email en cliquant sur un lien envoyé à l'adresse indiquée, etc...
Ensuite, pour l'identification, je souhaite que ce soit une fenêtre authentification apache qui apparaissent et que le gars inscrive son courriel et son mot de passe pour avoir accès à son espace membre personnel.
Sinon, il a une erreur 401.
Donc là ton code, forummp3, c'est pour faire ça ?
Si oui, alors je ne vois pas comment appeler la fenêtre d'authentification apache.
Ensuite, je ne vois pas comment récupérer les variables entrées dans la fenêtre.
Après, si les variables correspondent aux informations dans la BD, j'initialise une variable $PHP_AUTH_USER dont je teste la présence en haut de chaque page comme sur ton code, c'est ça ?
Bon je recommence.
Le gars s'inscrit avec un formulaire d'inscription classique : nom, site internet, email, mot de passe, confirmation du mot de passe, validation de l'email en cliquant sur un lien envoyé à l'adresse indiquée, etc...
Ensuite, pour l'identification, je souhaite que ce soit une fenêtre authentification apache qui apparaissent et que le gars inscrive son courriel et son mot de passe pour avoir accès à son espace membre personnel.
Sinon, il a une erreur 401.
Donc là ton code, forummp3, c'est pour faire ça ?
Si oui, alors je ne vois pas comment appeler la fenêtre d'authentification apache.
Ensuite, je ne vois pas comment récupérer les variables entrées dans la fenêtre.
Après, si les variables correspondent aux informations dans la BD, j'initialise une variable $PHP_AUTH_USER dont je teste la présence en haut de chaque page comme sur ton code, c'est ça ?
34 messages
• Page 1 sur 3 • 1, 2, 3
Lectures recommandées sur ce thème :
Consultez la description détaillée des produits ou services de Google suivants : Google Space
- Stratégies de mots-clés
Cet outil vous permet de créer à partir de quelques mots-clés une liste d'expressions constituées des mots pris dans tous les ordres possibles. Il sert aux analyses de positionnement et achats de mots-clés.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
