[PHP] Pb programmation newsletter - aider moi a trouver une solution svp!

Bonjour,

Je suis en train de programmer un envoi de newsletter / lettre d’info en php/mysql. Le site internet est finalisé.

Les abonnés à cette newsletter reçoivent donc un mail au format html où il y a aussi des informations sur leur compte donc des infos confidentielles !

Je souhaiterais, au début du mail, mettre un lien intitulé « si vous ne parvenez pas a lire ce mail, cliquez ici », comme les mail que l’on voit couramment. Ce lien pointerait vers une page web ou le mail pourrait s’afficher

Ce mail etant confidentiel, l’adresse url serait du type :
http://www.mondomaine.com/mail/envoi.php?hash=ad548c5bcf44….
Avec utilisation d’une chaine cryptee afin que les autres internautes ne s’amusent pas a triffouiller ds la barre d’adresse l’email ou le pseudo de l’abonné, bref il y a uniquement un hash comme parametre

Le pb, c’est que je ne pense pas que cette solution soit bonne !
Un internaute mal intentionne peut egalement triffouiller le hash et voir le mail correspondant a un membre du site

De plus, comment faire pour que cette page web ne soit pas referencée par les moteurs de recherche ?

Merci d’avance

Est-ce que tu peux pas simplement faire un lien du genre

http://monsite/page_newsletter.php

et offrir le contenu propre à chaque utilisateur en vérifiant les cookies (l’utilisateur doit alors être loggué)

c’est plus simple et plus secure je pense

Ah non, y a rien de sécurisé dans les cookies, moi je préfère largement la solution login de l’utilisateur dans l’url et hash personnalisé

merci pour vos reponses!

je vais rester sur ma solution, à mon avis c’est securisé…
je pourrais aussi mettre une validité du lien dans le temps: par ex, la page web est visible seulement 2 semaines apres l’envoi de la newsletter…

mettre aussi les pages web dans un repertoire distinct des autres pages et interdire aux robots de referencer ce repertoire grace a une instruction ds un fichier robot.txt

Le robots.txt ça me fait peur, moi.
Affirmer à tous les pirates du monde que la page X ne doit pas être référencée… ^^

Par contre, la solution du temps est une excellente idée je trouve.
Tu peux par exemple aussi rajouter le timestamp de l’envoi du mail (donné par la fonction time()).

Certains robots ignorent robots.txt.

La solution des cookies proposée par Mandarounet reste la meilleure.

oui elle est meilleure pour ne pas etre referencé (mais loin d’etre ideale car si l’utilisateur efface son cookie ) mais pas pour la securité…

l’déal serait d’utiliser les sessions (ou bien un fichier .htaccess et .htpassword mis a jour dynamiquement si possible) en demandant a l’utilisateur de se logger mais je trouve ca tres penible!!! (reception d’un mail, clic pour visu sur page web + login…)

entrer le login et le passd d’utilisateur, c’est justement ce que je veux eviter!!!

et si j’utilise SSL (jamais touche, je sais pas comment ca marche et comment on met ca en place… ), niveau securite et referencement, ca serait pas la solution ideale ???

en tout cas :super: pour vos reponses

:wink:

HTTPS, ça te permet de garantir à tes utilisateurs que le site qui leur parle est bien le tien et que les informations circuleront de manière sécurisée entre leur navigateur et ton site…
Je vois pas trop le rapport avec ce que tu veux faire. Bien-sûr ça peut-être mieux mais pas uniquement sur cette page (Un vrai certificat de sécurité doit être signé par des sociétés spécialisées et ça c’est cher !).
Pour moi la meilleure solution n’est pas les cookies mais comme je l’ai dit l’url contenant le login en clair et le hash, avec une limite de temps au besoin. :slight_smile:

PS : si t’es vraiment parano, tu peux mettre plusieurs hash ^^

ce qui m’inquiete le plus, c’est que la page risque d’etre referencee, l’url y compris!!!

je cherche une solution qui me garantisse que la page ne sera pas du tout referencee

Mais comment la page serait référencée ?
Tu vas pas mettre les liens sur le site, tu vas les laisser dans le mail.
Au pire, si la page est référencée “naturellement” (et je vois pas comment si il n’y a aucun lien vers cette page sur ton site), il y aura pas les informations en $_GET dedans.

mouais m’enfin si ce serait sécurisé

Sinon tu sors un algo pour hasher, crypter, … et plein d 'autres opérations sur le mail (adresse) d’origine
tu fous dans en lien dans ton mail, et tu fais marcher la fonction de hash/crypt (Ta fonction) pour comparer… Exemple:

Mon adresse: xxxxx@yyyyy.com
Le lien dans le mail:
verif.php?adresse=xxxxx@yyyyy.com&hash=0022589565447855444

La page vérif.php utilise la fonction de hash sur $_GET[‘adresse’] de l’URL que tu as crée et la compare avec $_GET[‘hash’].
Si ça correspond, OK, sinon, bah… erreur.

Je doute que le gars réussisse à retrouver ton algo de cryptage/hashage (surtout si tu utilises un Salt) s’il est un peu compliqué.

j’ai déjà programmé cette algo, donc nivo securité, no pb.
maintenant je n’ai pas la garantie que cette page ne soit pas referencee!

si ca reference le lien ds l’url (avec le hash), c’est pas bon…

Impossible ! Le hash est un paramètre dynamique qui est fonction du mail envoyé à chaque membre. Pour être référencé, il faudrait que le hash reste statique.
Peut-être que verif.php sera référencé tout seul, sans paramètres… ou bien pas du tout.

d’accord avec toi mais c’est curieux car j’ai un autre site ou le PHPSESSID est referencé par ex! or l’identifiant de session est unique et regenere a chaque connexion pourtant tu verras que si tu tapes “phpsessid” dans google, bah ya des sites qui sont references avec…

Le moteur référence la session qu’il a eu quand il a visité le site. Elle ne correspond à aucun utilisateur.
Puisque le moteur n’aura aucun hash (tu vas pas lui envoyer un mail ?) il référencera au pire la page verif.php sans paramètres.

ok merci je commence a y voir clair,

donc finalement je vais en rester la!

:super: