Htaccess : proteger une page juste avec un login

Nouveau WRInaute
Bonjour,

Je voudrais que des pages de mon site ne soit accessibles qu'aux abonnés de ma newsletter, mais sans qu'ils aientt à se ré inscrire (donc pas de zone membres).
Donc je cherche un moyen à ce qu'ils puissent rentrer sur cette page juste avec leur adresse mail d'inscription à ma newsletter.
J'ai cherché à comprendre htaccess mais tout ce que je trouve se rapporte a un accès avec mot de passe, et moi je ne veux pas de mot de passe.
est ce que c'est possible ?
L'idéal serait de pouvoir faire appel à ma base de données de mails (pour pas que je doivent rentrer toutes les adresses à la main au fur et à mesure), est ce que c'est possible avec htaccess ?
je suis chez Free.

merci

Nat
 
WRInaute accro
Nat_ a dit:
Donc je cherche un moyen à ce qu'ils puissent rentrer sur cette page juste avec leur adresse mail d'inscription à ma newsletter.
J'ai cherché à comprendre htaccess mais tout ce que je trouve se rapporte a un accès avec mot de passe, et moi je ne veux pas de mot de passe.

Je ne connais pas de moduel d'authentification qui permette de se passer du mot de passe, mais tu peux donner un mot de passe simple à tout le monde, genre le même pour tout le monde, ou un mot de passe vide, ou l'adresse e-mail à nouveau comme mot de passe, par exemple.

Nat_ a dit:
L'idéal serait de pouvoir faire appel à ma base de données de mails (pour pas que je doivent rentrer toutes les adresses à la main au fur et à mesure), est ce que c'est possible avec htaccess ?
je suis chez Free.

S'ils ont des modules un peu évolués genre mod_auth_mysql installés, tu peux attaquer directement la base de données. Sinon il va falloir que tu génères un fichier htpasswd à partir de ta base de données (et probablement le régénérer à chaque modification de ta base: ajout, supression, modification).

Jacques.
 
Nouveau WRInaute
Bonsoir,

Oui c'est une bonne idée ça, de mettre la même adresse mail en mot de passe.
J'y avais pas pensé.
il faudrait alors que je trouve le moyen de l'indiquer sur la fenêtre d'authentification pour que mes abonnés ne soient pas surpris.

par contre en ce qui concerne la base de données, je ne sais pas du tout.
Ou est ce que je peux voir ça ?
Sinon, tant pis, je n'aurai plus qu'à le faire à la main en attendant de trouver un autre moyen de faire ça automatiquement.

merci pour ta réponse

Nat
 
WRInaute accro
Nat_ a dit:
Oui c'est une bonne idée ça, de mettre la même adresse mail en mot de passe.
J'y avais pas pensé.
il faudrait alors que je trouve le moyen de l'indiquer sur la fenêtre d'authentification pour que mes abonnés ne soient pas surpris.

Dans la fenêtre elle-même ce n'est pas évident, le texte qu'on peut mettre est assez (voire très) limité et je ne suis même pas sûr qu'il soit affiché dans tous les browsers. Il vaut mieux le mettre sur la page avec le lien vers cette partie et/ou sur le ErrorDocument associé (qui s'affiche si on annule l'authentification).

Nat_ a dit:
par contre en ce qui concerne la base de données, je ne sais pas du tout.
Ou est ce que je peux voir ça ?
Sinon, tant pis, je n'aurai plus qu'à le faire à la main en attendant de trouver un autre moyen de faire ça automatiquement.

Ben tu peux vérifier dans la doc/FAQ, demander au support, essayer les directives associées à mod_auth_mysql:

AuthName "truc_qui_apparait_peut_etre_dans_le_formulaire"
AuthType Basic
AuthMySQLHost nom_du_serveur
AuthMySQLDB nom_de_la_bdd
AuthMySQLUserTable nom_de_la_table
AuthMySQLEnable On
AuthMySQLNameField nom_du_champ_qui_contient_le_nom_d_utilisateur
AuthMySQLPasswordField pareil_pour_password
require valid-user

Jacques.
 
Nouveau WRInaute
Bonjour,

Wow, ça se complique là :lol:
va falloir que je fasse des essais.

par contre j'ai trouvé ça :

Protéger un répertoire par un login

Cette méthode (beaucoup moins sûre que la précédente) permet une authentification de bas niveau uniquement par le nom de l'utilisateur. La syntaxe est la suivante :

Require (user [liste des utilisateurs], group [liste des groupes], valid-user)

Voici un exemple de ligne du fichier .htaccess :

Require User Damien Comma PumpPHP Jeff Rastapaye

Tout utilisateur souhaitant rentrer dans le répertoire ou un de ses sous-répertoires sera refusé sauf s'il s'identifie en donnant un nom figurant dans la liste.

c'était sur cette page http://www.commentcamarche.net/apache/apacht.php3

Dans ce cas là, si je souhaite utiliser ça en attendant de tester le reste, qu'est ce que je devrais mettre d'autre dans htaccess ?

merci de ta patience :D

Bonne soirée

Nat
 
WRInaute accro
Nat_ a dit:
Cette méthode (beaucoup moins sûre que la précédente) permet une authentification de bas niveau uniquement par le nom de l'utilisateur. La syntaxe est la suivante :

Require (user [liste des utilisateurs], group [liste des groupes], valid-user)

Voici un exemple de ligne du fichier .htaccess :

Require User Damien Comma PumpPHP Jeff Rastapaye

Tout utilisateur souhaitant rentrer dans le répertoire ou un de ses sous-répertoires sera refusé sauf s'il s'identifie en donnant un nom figurant dans la liste.

Euuuhhh... Je crois qu'ils s'avancent un peu, là. Pour fonctionner, require a besoin d'un AuthType et d'un AuthName, mais aussi de quelque chose qui permette de vérifier la validité de l'utilisateur (sinon la syntaxe require valid-user par exemple est totalement impossible). J'ai essayé sans, et chez moi en tous cas, ça ne marche pas, comme prévu ("configuration error: couldn't check user. No user file?").

Bref, je pense que tu ne couperas pas à un mot de passe et soit un fichier htpasswd soit un accès à une bdd... (à moins de trouver un module mod_auth_* qui soit installé chez Free et qui permette de vérifier juste le nom et pas le mot de passe).

Jacques.
 
Nouveau WRInaute
ah c'est trop dommage ça :)
ça me paraissait trop simple aussi.

en tout cas, le htaccess tout simple fonctionne avec la liste. c'est déjà ça.

J'ai testé la solution que tu m'as donné plus haut aussi, mais j'ai une "erreur 500 : erreur du serveur interne", je ne sais pas si c'est parce que j'ai fait une erreur, ou parce que ça ne fonctionne pas ;o))

J'ai recopié toutes les lignes comme tu les avais mises, en remplaçant ce qu'il fallait.
Il n'y avait rien d'autre à ajouter ?

J'ai pas trouvé de module mod_auth.
J'ai posé la question sur le forum de free aussi pour le htaccess, on verra bien ce qu'il me diront.

Sinon il ne me reste plus qu'à apprendre le php :D

En tout cas Merci

Bonne soirée

Nat
 
Discussions similaires
Haut