Bonjour,
Après avoir créé la structure de mon site, je m'attelle au formulaire de contact en php. La récupération des données du formulaire ne me pose pas de soucis a priori. Par contre, j'ai du mal à évaluer si mon formulaire est suffisamment sécurisé, sachant que je n'utilise aucune base de données. J'aimerais savoir :
1 - si les tests que j'ai mis en place sont pertinents (je ne suis pas toujours sûr de bien saisir le fonctionnement de ces fonctions dans l'optique de sécuriser le formulaire)
2 - si ces tests sont suffisants ou s'il y en a d'autres à utiliser.
Par avance, merci.
Voici les trois tests :
1 - Pour supprimer les antislash d'une chaîne puis pour remplacer les balises HTML par leur code afin qu'elles ne soient plus interprétées :
2 - Pour m'assurer que le formulaire est bien envoyé de mon site :
3 - Pour tester la tentative d'insertion d'en-tête dans les différents champs :
Après avoir créé la structure de mon site, je m'attelle au formulaire de contact en php. La récupération des données du formulaire ne me pose pas de soucis a priori. Par contre, j'ai du mal à évaluer si mon formulaire est suffisamment sécurisé, sachant que je n'utilise aucune base de données. J'aimerais savoir :
1 - si les tests que j'ai mis en place sont pertinents (je ne suis pas toujours sûr de bien saisir le fonctionnement de ces fonctions dans l'optique de sécuriser le formulaire)
2 - si ces tests sont suffisants ou s'il y en a d'autres à utiliser.
Par avance, merci.
Voici les trois tests :
1 - Pour supprimer les antislash d'une chaîne puis pour remplacer les balises HTML par leur code afin qu'elles ne soient plus interprétées :
if (get_magic_quotes_gpc())
{
$nom=stripslashes(trim($_POST['nom']));
$nom=htmlspecialchars($nom, ENT_QUOTES, 'UTF-8');
etc...
}
else
{
$nom=stripslashes(trim($_POST['nom']));
$nom=htmlspecialchars($nom, ENT_QUOTES, 'UTF-8');
etc...
}
2 - Pour m'assurer que le formulaire est bien envoyé de mon site :
if($_SERVER['HTTP_REFERER'] != 'http://monserveur.com/')
{
header('Location: http://monserveur.com/accueil.html');
}
3 - Pour tester la tentative d'insertion d'en-tête dans les différents champs :
preg_match(/[\n\r]/, $nom);