Sur plusieurs de nos sites, on a des petits malins qui utilisent nos formulaires de contacts pour envoyer du spam, grace a des gros trous de secu sur les dis feuilles de contacts. (note: je suis pas responsable de ces codes tous nazes :P)
Je me suis mis a la recherche de code PHP tout prets pour ce genre de choses. Malheureusement, c’est generalement payant (et assez cher pour le concept), meme si j’ai reussi a trouver un exemple interessant mais qui manque de controles.
Des exemples que j’ai eu, on peut avoir plusieurs cas:
- Email injection
Le formulaire demande l’email du “client” et via ce champ, on peut faire ca:
toto@bouh.fr\n
bcc: spam1@aol.fr, spam2@yahoo.fr [...]
Ce cas la est assez simple a gerer avec la bonne regexp et SCForm le fait tres bien
- Field injection
La, c’est plus tordu. mail() est une fonction assez basique et contient pas mal de trous implicite (by design comme dirait Glop :P)
Imaginez ceci:
Il suffit de faire un $body de ce type:
[code]bcc: spam1@aol.fr, spam2@yahoo.fr […]
pub gratuite
.[/code]
Truc important: entre les headers et le body, y a un \n\n. Pour terminer le mail, il faut “\n.\n” et hop, c’est envoye.
Du coup, le controles des champs est important. Si pour des champs d’une ligne, un simple controle sur \n suffit a priori, ca devient plus complique pour des commentaires (ou le \n est necessaire).
Bref, ma question:
_Est ce que vous connaissez un outil PHP libre pour:
_La gestion des champs d’un formulaire (general)
_La gestion des champs d’un formulaire pour les emails.
Je me souviens que Glop avait fait un validateur HTML pour les forum, c’est un peu l’idee mais plutot pour des mails (et en PHP, pas en C#).
Merci d’avance.
LoneWolf
Crevez tous, spammeurs!