Créer un lien de désinscription

get info Messages postés 2 Statut Membre -  
LelLex Messages postés 1753 Statut Membre -
Bonjour,
Je cherche désespérément comment créer un lien de désinscrition sur une newsletter (j'imagine en PHP pour collecter les adresses mails).
Le but est qu'en lisant le mail, l'internaute clique sur un lien sur le message, et que cela le renvoie sur une page qui confirme qu'il a bien été désinscrit.
Coté serveur, l'adresse mail collecte son adresse mail.
Le tout sans qu'il ait besoin de taper son adresse mail, pour qu'il soit rassuré.
Il me semble qu'en cliquant depuis sa messagerie, ça génère automatiquement l'adresse mail dans la requête, mais je ne suis pas sur.

J'utilise Sarbacane pour l'envoi des mails.

Merci pour votre retour.

Cordialement.

A voir également:

1 réponse

briiiiix Messages postés 624 Statut Membre 18
 
Si tes adresses emails sont stockées dans une base mysql, tu as surement un id unique pour chacune.
Je présume que tu as les champs id, nom, email ...
il suffit d'ajouter un champs qu'on appelera hash par exemple qui contiendra l'id mais en md5 pour plus de sécurité et pour ne pas avoir de mauvaises surprises.

On va donc travailler sur l'id, le hash et le nom.
Si ton fichier de desinscription sera appelé page.php, et que tu veux desinscrire l'utilisateur albert ayant l'id 5:

i = 5
h = e4da3b7fbbce2345d7772b0674a318d5
n = albert

le lien generé dans son email sera comme suit:

Pour vous desabonner cliquez ici:
http://www.dom.......com/page.php?i=5&n=albert&h=e4da3b7fbbce2345d7772b0674a318d5

Et dans ta page.php, tu recupere ces infos à l'aide desquels tu selection la bonne adresse, tu l'affiche avec une demande de confirmation et tu supprime depuis la base.

Voila
-1
get info Messages postés 2 Statut Membre
 
Bonjour Briiiix,
Effectivement, en travaillant sur l'ID, c'est plus simple (merci pour le conseil md5).
Bonne journée !
0
briiiiix Messages postés 624 Statut Membre 18
 
Merci de faire passer cette discussion a l'etat résolu si ça répond a tes questions
0
LelLex Messages postés 1753 Statut Membre 112
 
Pourquoi tu mets l'id dans les variables avec son hash. Soit tu mets l'id et le nom ; ou ; le hash de l'id et le nom. Non ?
0
briiiiix Messages postés 624 Statut Membre 18
 
daccord,
supposons que j'ai reçu un newsletter et que j'ai cliqué sur le lien de desinscription, si je n'ai que l'id bet le nom, la combinaison devien simple, et je pourrais tomber facilement sur un lien qui affectera d'autres utilisateurs s'il y a un autre user ayant mon id + 5 et le même nom que moi par exemple, même chose pour le hash car ce n'est que l'id en md5, mais les 3 combinées ensemble et en utilisant une clée md5 personnalisée, impossible de fixer une variable et jouer sur les autres même avec un robot.

Et comme je l'ai dit pour éviter les mauvaises surprises.
Voila, il faut toujours renforce la sécurité, tu penses quoi ?
0
LelLex Messages postés 1753 Statut Membre 112
 
Si le hash de l'id, c'est du md5. Quelqu'un de mal attentionné peut, jouer quand même sur les autres, en ayant de la chance bien sûr. Puisqu'il met l'id, le nom et le hash. Difficile que l'id tombe bien avec un nom au hasard, mais concernant le hash c'est facile, c'est md5(id);

Mais c'est vrai, que ça pourrait en freiner certain, c'est déjà pas mal. ;)
0