IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] email() : problème de spam


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut [Mail] email() : problème de spam
    bonjour,

    Je propose sur mon site un formulaire de contact qui utilise la fonction email(). Je voudrais savoir s'il existe un script permettant de crypter mon adresse mail afin d'éviter qu'elle soit spammée.

    En effet, je reçois beaucoup de message provenant de mon adresse mail avec des messages bidons.

    Merci pour vos solutions.

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 444
    Points
    3 444
    Par défaut
    Bonjour,

    Ton adresse email ne doit jamais apparaitre dans la page accessible par le client.
    Tout ce à quoi il a accès, sont les éléments du formulaire, mais pas ton adresse.

    Ca limitera déjà le spam, bien que j'ai peur qu'il soit trop tard et que ton adresse soit révélée publique

    Ensuite, cette première précaution prise, il est vrai qu'une personne peut faire un refresh et t'envoyer 10 fois de suite un email avec ton formulaire par exemple. Pour éviter ce genre de problème, il faut que tu captes l'adresse ip du client ( qui est disponible lors de la soumission du formulaire ) et que tu la stock dans un objet temporaire en mémoire. Ainsi, dans ta page de traitement, tu n'enverras un email que pour ceux qui n'en on pas encore envoyé, disons par exemple pendant les 10 dernières minutes.

    Si tu as besoin de plus de précision, n'hésites pas, A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    Je te remercie pour ta réponse mais j'aurai, en effet, besoin de quelques précisions (il faut dire que je débute en PHP alors je ne comprend pas tout ).

    Quand tu dis que mon adresse email ne doit jamais apparaitre dans la page accessible par le client, comment tu vois les choses ?

    Actuellement, j'ai une page contact.php qui contient le formulaire : toutes les infos saisies (email de l'emetteur, message...) sont envoyées à la page contact2.php qui traite ces infos en les mettant dans des variables et effectue l'envoi de l'email via la fonction email(). Cette page contact2.php n'est "pas accessible" puisqu'elle possède une redirection vers la page d'acceuil. Est-ce suffisant ?

    Concernant le deuxième point que tu as abordé, tu as mis dans le mille... Je reçois en effet, plusieurs mails en quelques minutes envoyé via mon formulaire. Peux tu me donner plus de détails sur la façon de récupérer l'ip et la bloquer ?

    Encore merci.

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 444
    Points
    3 444
    Par défaut
    Ce que je voulais dire, c'est que dans la page contact.php, jamais ton email ne doit figurer. Je pense que c'est le cas.

    Pour récuperer l'ip et la stocker, il faut utiliser la variable d'environnement "REMOTE_ADDR". Elle te donne l'ip de la personne ayant fait la requête.

    Tu peux alors stocker cette adresse, et l'heure de la requête, dans ta page contact2.php dans le tableau GLOBALS par exemple, sous la forme d'un tableau que tu enrichiras au fur et à mesure des envois d'email, sans oublier de le purger des ips inutiles. Tu peux aussi stocker ces informations en base de données si ça t'interesse par exemple pour le cas où tu souhaiterais repérer les personnes qui tentent de te spammer afin de leur interdire l'accès à ton site.

    Voila, je pense avoir été clair, si tu as besoin d'autres précisions n'hésite pas

    Et puis si j'ai commis une erreur, je veux bien une correction
    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    ok c'est clair, merci pour tes précisions.
    Je vais voir ce que je peux faire.
    Encore merci.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    Je viens de penser a quelque chose : la plupart des gens (comme ceux chez free par exemple) n'ont pas d'ip fixe... ce qui veut dire que je risque fort d'avoir un tableau très lourd. Une idée pour palier à ça ?

  7. #7
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 444
    Points
    3 444
    Par défaut
    Non c'est un des problèmes des réseaux en général, il est inutile ou presque de banner une personne en ip dynamique, car elle peut toujours obtenir une nouvelle ip, c'est aussi pour ça qu'il y a des bans de "hosts" qui sont parfois appliqués, des plages d'ip bannées..

  8. #8
    Membre actif
    Inscrit en
    Janvier 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Points : 271
    Points
    271
    Par défaut
    Attention a l'utilisation de la fonction mail de php qui est une passoire, il faut absolument controller les champs qui y sont passés.

  9. #9
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 860
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 860
    Points : 3 444
    Points
    3 444
    Par défaut
    Oui il y a une librairie qui me parrait plus aboutie : phpmailer

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 82
    Points : 44
    Points
    44
    Par défaut
    Y-a-t-il des tutos qui traitent de ça quelque part parce que là je vous avoue que je commence à patauger...

Discussions similaires

  1. [Mail] Gmail prend mon email pour un spam
    Par tom42 dans le forum Langage
    Réponses: 1
    Dernier message: 11/06/2008, 20h23
  2. [Mail] Protéger l'emailing contre le spam
    Par l_moslem dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2007, 00h49
  3. [Mail] email problème ID
    Par kitty2006 dans le forum Langage
    Réponses: 7
    Dernier message: 04/10/2006, 14h07
  4. [ENVOI D'EMAIL] Problème de composant CDONTS
    Par ybenmakh dans le forum ASP
    Réponses: 1
    Dernier message: 10/01/2006, 15h43
  5. [Mail] email + html
    Par Dokho1000 dans le forum Langage
    Réponses: 6
    Dernier message: 02/12/2005, 22h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo