FORMULAIRE VERS COURRIEL BASIQUE AVEC CONTRÔLE CAPTCHA ANTI SPAM (FORM TO MAIL)

Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
- - Dernière réponse :  fr - 19 mai 2015 à 13:26
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52898-formulaire-vers-courriel-basique-avec-controle-captcha-anti-spam-form-to-mail

Afficher la suite 
inwebo
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
-
Bonjour,

Je viens de parcourir rapidement cette source, petite indication il existe depuis la version 5.2 de PHP les fonctions sanitize/validate.

Pour plus d'information voir : http://www.php.net/manual/en/filter.filters.validate.php

Qui sera je pense plus rapide que la fonction VerifierAdresseMail()

Cordialement
cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8 -
bonjour

@inwebo(lA REMARQUE EST JUSTE)
En effet les fonctions sanitize/validate (efficaces) existent et sont souvent oubliées.
Libre à chacun de les utiliser et de remplacer les fonctions du script.

Ce script je l'ai mis en place afin de montrer comment organiser classiquement son code, en esperant qu'il apporte une aide aux débutants. Coté securité on pourra encore le blindé.

Pour ceux qui s'intéressent à la sécurité et aux problèmes d'injections
http://www.phpsecure.info/v2/article/MailHeadersInject.php
http://www.securephpwiki.com/index.php/Email_Injection
http://www.tonyspencer.com/2005/12/15/email-injection-exploit-through-a-php-contact-form/

a++

a++
inwebo
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
-
Bonjour,

Dernière remarque : il faut éviter de mettre <h3 align="center"> c'est déprécié !

Peut être mettre les variables, $destinataire, et la taille des variables utilisées dans la fonction petitClean dans un fichier conf, ini (voir parse_ini_file : http://php.net/manual/fr/function.parse-ini-file.php), cela permet de centraliser tout cela, c'est plus simple d'éditer un fichier que de parcourir tout le code pour le mettre à sa sauce, ce qu'un débutant ne fera sans doute pas.

Cordialement.
cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8 -
Bonsoir

oui un fichier ini serait le bienvenue

@inwebo : par contre h3 'deprecié' ... pourrais tu préciser

pour ceux qui veulent avec le ini : http://abyz.free.fr/form2mail/f_ini.zip
vous comprendrez le principe à vous de jouer, editer configuration.ini
je laisse la source comme avant sur phpcs, vous pouvez donc comparer les deux

a++
inwebo
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
-
bonsoir,

Il vaut mieux mettre tout cela dans une feuille de style externe css, car pour l'instant il faut éditer directement le code php, SI tout cela est dans une feuille de style css c'est centralisé, on sépare donc bien le travail, l'affichage et le traitement.

Cordialement
cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8 -
bonsoir
oui un css externe ... là chacun fait ce qu'il veut
c'est vrai que coté css j'ai pas cherché
bon je laisse le truc dans l'état chacun personnalise comme il veut
le code n'est pas touffu, de plus dans la version ini c'est plus léger déjà
a++
icemaker2
Messages postés
5
Date d'inscription
lundi 6 janvier 2003
Statut
Membre
Dernière intervention
14 juin 2007
-
Bonjour,
Concernant la fonction FILTER_VALIDATE_EMAIL il me semble qu'elle ne fonctionne correctement qu'avec la version de php 5.2.0 !
Voir le commentaire et le test sur la page http://www.php.net/manual/en/filter.filters.validate.php
J'ai fait le test avec php 5.3.4 le résultat est négatif.
Merci pour ce script.
cs_vinceslas
Messages postés
12
Date d'inscription
vendredi 25 décembre 2009
Statut
Membre
Dernière intervention
31 mai 2013
-
Bonjour,
Lors de l'envoie d'un mail je reçois une erreur du genre:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\Formulaire\envoi.php on line 86
Ça peux être du à quoi?
cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8 -
bonjour

dans php.ini
tu dois activer ton smtp, exemple sfr

[mail function]
; For Win32 only.
SMTP = smtp.sfr.fr
smtp_port = 25
c'est une question pour le forum

a++
begueradj
Messages postés
291
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
25 août 2014
1 -
Tous les codes que vous faites, COD57, sont très utiles et je vous en remercie.
begueradj