Sécurisation de formulaire injections sql/xss
JEY
-
pols12 Messages postés 1143 Date d'inscription Statut Membre Dernière intervention -
pols12 Messages postés 1143 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai cherché pour se protéger des injections lors du traitement d'un formulaire mais je ne comprend pas les étapes:
Lorsqu'on envoie sur la bdd on fait un mysql_real_escape_string(); pour éviter les injection sql
et quand on récupère les données et qu'on les affiche, il faut faire un htmlentities(); pour éviter les injections XSS
La question que je me pose est:
Peut-on se protéger des injection XSS dès l'insertion dans la bdd ? Ainsi on éviterait de devoir à chaque affichage utiliser la fonction htmlentities() .
Merci
J'ai cherché pour se protéger des injections lors du traitement d'un formulaire mais je ne comprend pas les étapes:
Lorsqu'on envoie sur la bdd on fait un mysql_real_escape_string(); pour éviter les injection sql
et quand on récupère les données et qu'on les affiche, il faut faire un htmlentities(); pour éviter les injections XSS
La question que je me pose est:
Peut-on se protéger des injection XSS dès l'insertion dans la bdd ? Ainsi on éviterait de devoir à chaque affichage utiliser la fonction htmlentities() .
Merci
A voir également:
- Sécurisation de formulaire injections sql/xss
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
- Problème avec Google Chrome - Forum Google Chrome
2 réponses
Avant l'envoi en base de données tu utilise la fonction strip_tags() de PHP.
Cette fonction supprime toutes les balise HTML.
https://www.php.net/manual/fr/function.strip-tags.php
Ou alors tu fais htmlentities() avant l'enregistrement en base.
Cette fonction supprime toutes les balise HTML.
https://www.php.net/manual/fr/function.strip-tags.php
Ou alors tu fais htmlentities() avant l'enregistrement en base.
Salut !
$valeur = htmlspecialchars(addslashes($valeur))
Et tu insert $valeur modifié dans ta base. ;)
Ce sont deux exemples de fonctions, juste pour dire que tu peux tout à fait sécurise les variables AVANT l'insertion dans la base. ;)
Mais des fois, la manoeuvre inverse sera nécessaire à la sortie, ce qui rendra le code aussi lourd que si on sécurisait à la sortie... :P
$valeur = htmlspecialchars(addslashes($valeur))
Et tu insert $valeur modifié dans ta base. ;)
Ce sont deux exemples de fonctions, juste pour dire que tu peux tout à fait sécurise les variables AVANT l'insertion dans la base. ;)
Mais des fois, la manoeuvre inverse sera nécessaire à la sortie, ce qui rendra le code aussi lourd que si on sécurisait à la sortie... :P