Bonjour,

je dois sécuriser un formulaire contre les attaques.

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
 
function securise($texte){
	return htmlentities($texte, ENT_QUOTES);
}
 
if(isset($_POST["nom"]) and isset($_POST["prenom"]) and isset($_POST["email"])  and isset($_POST["sujet"]) and isset($_POST["message"])and !empty($_POST["nom"])  and !empty($_POST["email"]) and !empty($_POST["message"])){
 
    if(!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)){
		header('Location: contact.php?message=email&nom='.$_POST['nom'].'&prenom='.$_POST['prenom'].'&email='.$_POST['email'].'&telephone='.$_POST['telephone'].'&sujet='.$_POST['sujet'].'&demande='.$_POST['message']);
		exit();
	}
 
	$nom = securise($_POST['nom']);
	$prenom = securise($_POST['prenom']);
	$email = securise($_POST['email']);
	$sujet = securise($_POST['sujet']);
        $message = securise(utf8_encode($_POST['demande']));
 
	$headers = 'From:'.$prenom." ".$nom.' <'.$email.'>' . "\r\n" .
					'Reply-To:'.$email. "\r\n" ;
 
 
    mail('exemple@yahoo.fr', $sujet, $message, $headers);
    header('Location: contact.php?message=ok');
 
....
Le problème est que lorsque je teste l'envoi du mail il n'y a dans le mail d'arrivée ni le nom et prénom de l'expéditeur ni le sujet du message alors que ces informations y sont si je supprime la fonction securise.

Merci