Fonction automatiques ?
8 messages
• Page 1 sur 1
- cybrnetik
- WRInaute discret

- Messages: 81
- Inscription: 30 Juin 2006
Fonction automatiques ?
Bonjour,
Je suis en train de créer un formaulaire pour mon site et lors de l'envoi vers la base de données j'effctue un addslashes et un htmlentities cependant je me demandai si cela n'était pas maintenant fait automatiquement lors de l'envoi d'une requete sur la base sql ?
Merci de vos réponses
Je suis en train de créer un formaulaire pour mon site et lors de l'envoi vers la base de données j'effctue un addslashes et un htmlentities cependant je me demandai si cela n'était pas maintenant fait automatiquement lors de l'envoi d'une requete sur la base sql ?
Merci de vos réponses
- fablezouave
- WRInaute discret

- Messages: 109
- Inscription: 20 Déc 2006
salut
Si PHP est configuré pour, le addslashes() est fait automatiquement sur les données provenant de formulaires, cependant cette fonction n'est pas faîte pour proteger les données qu'on passe à une base de données, c'est une erreur très commune que de l'utiliser. Il FAUT utiliser la fonction spécifique à chaque base de données. Pour MySQL, par exemple, la fonction d'echappement est mysql_real_escape_string() :
http://php.net/mysql_real_escape_string. En utilisant addslashes(), tu t'exposes à des vulnaribilités.
Quand à htmlentities(), ça n'a rien à voir, et c'est totalement inutile de l'utiliser.
fab
Si PHP est configuré pour, le addslashes() est fait automatiquement sur les données provenant de formulaires, cependant cette fonction n'est pas faîte pour proteger les données qu'on passe à une base de données, c'est une erreur très commune que de l'utiliser. Il FAUT utiliser la fonction spécifique à chaque base de données. Pour MySQL, par exemple, la fonction d'echappement est mysql_real_escape_string() :
http://php.net/mysql_real_escape_string. En utilisant addslashes(), tu t'exposes à des vulnaribilités.
Quand à htmlentities(), ça n'a rien à voir, et c'est totalement inutile de l'utiliser.
fab
- cybrnetik
- WRInaute discret

- Messages: 81
- Inscription: 30 Juin 2006
Donc en fait si j'ai bien compris le fonctionnement de la fonction mysql_real_escape_string, il faut que je fasse :
Ps : En fait je me sert juste du htmlentities pour empecher les utilisateurs de mettre du code executable
- Code: Tout sélectionner
$x = mysql_real_escape_string($x);
$y = mysql_real_escape_string($y);
$z = mysql_real_escape_string($z);
mysql_query("INSERT INTO mabase VALUES ('', '".$x."', '".$y."', '".$z."') ") or die(mysql_error());
Ps : En fait je me sert juste du htmlentities pour empecher les utilisateurs de mettre du code executable
-

david96 - WRInaute passionné

- Messages: 1430
- Inscription: 28 Aoû 2005
fablezouave a écrit:Quand à htmlentities(), ça n'a rien à voir, et c'est totalement inutile de l'utiliser.
fab
Ha bon ? Faudrait dire pourquoi là !
Au contraire j'aurais poussé le vice à dire :
mysql_real_escape_string(htmlentities($variable));
Ou alors à la place d'htmlentities() mettre htmlspecialchars() (ne touche pas à tous les caractères spéciaux, notamment les accents) ou alors strip_tags() qui supprime les balises html
Comme le dit cybrnetik l'htmlentities() transforme les caractères tels que "<>" en entité html qui pourraient avec qqs fonctions javascript (et autres) s'avérer potentiellement dangereuse dans un formulaire !
- fablezouave
- WRInaute discret

- Messages: 109
- Inscription: 20 Déc 2006
ACth a écrit:htmlentities() n'est utile que pour l'affichage.
mysql_real_escape_string() est utile pour insérer des données dans la base de données.
+1
fab
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Google ouvre un blog sur la sécurité informatique en ligne
- Yahoo déclare-t-il la guerre aux référenceurs ?
- Gérer l'entête HTTP en PHP
- Référencer un site multilingue
- MyMaps : des cartes personnalisées avec Google Maps
- Google ajoute la Navigation par nom dans sa Toolbar
- Les sites les plus visibles pour le mot Google
- Google rachète Applied Semantics
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



