Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par two3d » 21 nov. 2021, 17:05

Suite de la discussion ici.

Merci, pas con le md5 ;)

Les entêtes "X-..." sont utiles ? j'ai rien trouvé sur internet à propos. Sauf ici: http://www.faqs.org/rfcs/rfc2076.html (et c'est "non standard") Tu as fait des test mail tester sans ces entêtes ?

Petite remarque: 50 mails en une fois,c'est pas un peu trop ? imagine qu'un mail s'envoie en 0.5s * 50 = 25sec d'attente sur la page, sauf si tu as des articles à lire, pas de souci, en revanche si la personne est amenée à aller sur une autre page, c'est pas la bonne méthode car l'envoi risque d'être coupé.

Tu utilise une signature DKIM ? Je suis en train de lire la doc à ce sujet pour améliorer mon score de 8.7/10 (sans List-Unsubscribe et sans DKIM)
Image

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par finipe » 21 nov. 2021, 15:43

J'ajoute que pour l'envoi de nombreux mails, je le fais par paquets de 50, à intervalles de 2 heures.
Et je n'utilise pas Cron, mais je profite des utilisateurs du site à leur insu : lorsque quelqu'un (quel qu'il soit) charge une page, je vérifie un timestamp, et si le timestamp en question est dépassé, alors boum j'envoie les 50 mails suivants, et je mets le timestamp à jour avec +2h. Comme ça, ce sont les internautes qui bossent pour moi, et j'ai pas besoin de m'embêter avec des taches Cron.

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par finipe » 21 nov. 2021, 15:37

Alors du coup, ça servira aussi au topic initial, tant qu'à faire :D

Voilà ce que je mets comme entête mails :

Code : Tout sélectionner

MIME-Version: 1.0\r\n Content-type: text/html; charset=UTF-8\r\n To: Jean-Jacques Destinataire <[email protected]>\r\n From: Dieu <[email protected]>\r\n Reply-To: [email protected]\r\n X-Mailer: PHP/".phpversion()."\r\n X-auth-smtp-user: [email protected]\r\n X-abuse-contact: [email protected]\r\n List-Unsubscribe: <mailto: [email protected]?subject=Désinscription newsletter, id client ".$_ID_CLIENT.">, <https://www.monsite.com/desinscription.php?id=".$_ID_CLIENT."&code=".$un_code_unique.">\r\n List-Unsubscribe-Post: List-Unsubscribe=One-Click\r\n
La page desinscription.php est codée de sorte que le simple fait d'aller sur cette page, avec en url l'id du client et une variable unique, permet la désinscription du client (c'est le fameux "one-click").

Pour la variable unique, je me suis pas trop fait chier : j'ai concaténé l'id client et sa date d'inscription, puis md5 le tout, et juste les 6 premiers caractères (c'est pas vraiment une donnée ultra sensible, c'est juste pour éviter une désinscription de quelqu'un qui ne veut pas être désinscrit)

Ça, plus quelques petits détails (email correctement rédigé et syntaxiquement juste, pas de balises craignos genre <script> ou <iframe>, pas de spamwords...), je suis à 8,9/10 sur mail-tester.

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par two3d » 21 nov. 2021, 00:48

[un peu hors sujet, désolé]
Tu veux bien mettre la ligne de code avec cette entête s'il te plaît ? Dire pourquoi tu l'utilise,... J'ai aussi créé un "système de newsletter", je vais peut être la rajouter.
[/hors sujet]

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par finipe » 20 nov. 2021, 23:43

Merci pour List-Unsubscribe, je ne connaissais pas ;)
J'ai codé une newsletter il n'y a pas longtemps, et c'est un entête qui semble prisé par les clients mails !

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par two3d » 20 nov. 2021, 02:18

Merci pour List-Unsubscribe, je ne connaissais pas ;)

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par @rthur » 18 nov. 2021, 19:25

Merci pour tous ces conseils, mais pouvez-vous me rédiger la ligne à remplacer ainsi que la nouvelle.
Bonjour Herde2,
PHPfrance est un forum d'entraide, mais nous ne sommes pas là pour faire le code à ta place mais pour expliquer comment faire et te guider dans la réalisation de ton projet.
Donc à toi d'essayer de le faire, de tester et si ça ne marche pas de revenir vers le forum. :D

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par herde2 » 18 nov. 2021, 18:43

Merci pour tous ces conseils, mais pouvez-vous me rédiger la ligne à remplacer ainsi que la nouvelle.
Pour le reste, rien de méchant, c'est juste un formulaire de contact pour un site perso que personne n'ira voir. Mais ça me plaît, excepté le PHP ;)
Encore merci et bonne soirée,
rd

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par finipe » 18 nov. 2021, 15:43

Juste après le X-mailer c'est bien. Après ça fait pas tout, loin de là ! Il faut aussi que le contenu de ton email soit :

- bien rédigé
- juste syntaxiquement (si tu utilises du html notamment, il faut que tes balises soient bien ordonnées, fermées quand c'est nécessaire, etc.)
- éviter les spam words (genre "gratuit", "cadeau", etc.)
- que ton hébergeur n'ait pas une réputation de daube (donc déjà, évite les hébergeurs gratuits, parce que tous les spammeurs les utilisent)
- ne pas envoyer 200 mails en 1 seconde
- et probablement des tas d'autres trucs que chaque client mail est le seul à savoir

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par herde2 » 18 nov. 2021, 14:56

Merci pour ces précisions. Puis-je savoir où et comment placer des headers comme X-auth-smtp-user ou X-abuse-contact.
Ce n'est pas que je débute, simplement que je n'y connais rien. Merci pour ton aide finipe ;)

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par finipe » 18 nov. 2021, 14:29

Pour ne pas finir dans les spams c'est un peu plus délicat. Il faut essayer de respecter un maximum de préconisations, en ajoutant des headers dans le mail, comme par exemple : X-auth-smtp-user, X-abuse-contact, List-Unsubscribe si c'est une newsletter.
On peut aussi ajouter les normes de sécurité DMARC ou DKIM, mais ce n'est pas toujours possible selon l'hébergeur.

Un bon outil de test est le suivant : https://www.mail-tester.com/

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par herde2 » 18 nov. 2021, 12:33

Et les commentaires (qui arrivent bien à destination) sont placés dans les "spams" ou "promotions".
Y'a t'il une ligne à changer ?
Encore MERCI,
rd

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par herde2 » 18 nov. 2021, 12:30

comme cela ?
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
header('Location: mapage.html');
exit;
?>

<?php
}
?>

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par herde2 » 18 nov. 2021, 12:27

Merci beaucoup finipe, je tenterai dès ce soir.
Bonne journée,
rd

Re: Un formulaire PHP qui me renvoie sur un site dont je ne veux pas.

par finipe » 18 nov. 2021, 11:57

Il date un peu ce code, il y a pas mal de trucs qui seraient sérieusement améliorables, mais bon. Pour ce qui est de la redirection, il serait plus judicieux d'utiliser un header('Location: page.html') plutôt qu'une redirection avec balise meta.

Il faut donc remplacer ça :

Code : Tout sélectionner

echo "<meta http-equiv='refresh' content=\"0; url=site que je ne désire pas\">"
...par ça :

Code : Tout sélectionner

header('Location: mapage.html'); exit;
Le problème c'est que s'il y a une erreur dans la soumission du formulaire, il y a des echo qui envoient du texte, et du coup ça fera planter la redirection header.
En fait, le formulaire en lui-même serait à revoir !