Pour traiter les données d'un formulaire je fais appel à une fonction (vue sur ce site):
<?php
function securiteDonnees($string){
$cnx = mysqli_connect('localhost','root','','mon site');
// On regarde si le type de string est un nombre entier (int)
if(ctype_digit($string)){ $string = intval($string);}
// Pour tous les autres types
else {
$string = mysqli_real_escape_string($cnx,$string);
$string = addcslashes($string, '%_');
}
return $string;
}
?>
Parce que tu n'utilises pas mysqli ? Parce que la connexion foire ? Enfin, active les erreurs quoi si tu veux savoir pourquoi ça plante (php + mysqli).
Il ne faut pas utiliser ça :
ce addcslashes n'a sa place que pour un LIKE
tu échappes 50 données, tu crées 50 connexions MySQL
Pour compléter, ligne 8, tu vérifies si une chaîne ne comporte que des chiffres et tu la transformes... en nombre ! Un peu inutile, non ? Surtout dans le seul but de sécuriser la variable.
En bref, ta fonction pourrait se résumer à mysqli_real_escape_string(), donc inutile de réinventer la roue.
sécuriser données avec 'mysqli_real_escape_string'
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
N'oubliez pas d'activer les erreurs PDO.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli