Insérer un contre-slash dans base de données MySQL
Résolu/Fermé
david77179
Messages postés
155
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
9 janvier 2019
-
17 déc. 2013 à 15:10
Utilisateur anonyme - 19 déc. 2013 à 12:56
Utilisateur anonyme - 19 déc. 2013 à 12:56
4 réponses
Utilisateur anonyme
Modifié par le père. le 17/12/2013 à 16:25
Modifié par le père. le 17/12/2013 à 16:25
Bonjour
Comme il est indiqué dans le lien donné par nagashima, il NE FAUT PAS utiliser addslashes dans une requête pour une base de données.
Il faut utiliser mysql_real_escape string, ou mysqli_real_escape string ou une requête préparée (PDO) selon l'interface utilisée pour la base de données. Elles sont faites spécialement pour ça.
Et il n'y a rien à retirer pour l'affichage. Les slashes insérés ne sont insérés que dans la requête, pas dans la base, ils ne sont donc pas relus quand on extrait les données.
Comme il est indiqué dans le lien donné par nagashima, il NE FAUT PAS utiliser addslashes dans une requête pour une base de données.
Il faut utiliser mysql_real_escape string, ou mysqli_real_escape string ou une requête préparée (PDO) selon l'interface utilisée pour la base de données. Elles sont faites spécialement pour ça.
Et il n'y a rien à retirer pour l'affichage. Les slashes insérés ne sont insérés que dans la requête, pas dans la base, ils ne sont donc pas relus quand on extrait les données.
Utilisateur anonyme
17 déc. 2013 à 15:15
17 déc. 2013 à 15:15
salut,
Ton traitement se fait via php je suppose ? il y a une méthode qui fait ca bien :
addslashes
https://www.php.net/manual/fr/function.addslashes.php
naga
Ton traitement se fait via php je suppose ? il y a une méthode qui fait ca bien :
addslashes
https://www.php.net/manual/fr/function.addslashes.php
naga
david77179
Messages postés
155
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
9 janvier 2019
22
Modifié par david77179 le 17/12/2013 à 15:19
Modifié par david77179 le 17/12/2013 à 15:19
Merci de ta réponse aussi rapide :)
C'est ce que j'essai de faire sauf que je ne sais pas où placer
Dans la déclarations des variables ? après ? avant ? dans mon formulaire ?
La est mon problème. Là c'est placé juste après la déclaration des variables et ca ne fonctionne pas...
Merci :)
Une fois le problème résolu, pensez à cliquer sur le lien "Marquer comme résolu " =D
Vive les communautés d'entre aides et surtout CommentçaMarche.net
C'est ce que j'essai de faire sauf que je ne sais pas où placer
<?php echo addslashes($coms); ?>
Dans la déclarations des variables ? après ? avant ? dans mon formulaire ?
La est mon problème. Là c'est placé juste après la déclaration des variables et ca ne fonctionne pas...
Merci :)
Une fois le problème résolu, pensez à cliquer sur le lien "Marquer comme résolu " =D
Vive les communautés d'entre aides et surtout CommentçaMarche.net
et bien si le problème se pose au moment de l'insertion dans ta table, c'est à ce moment là, par exemple
ou avant l'insertion
en pensant après que pour ton affichage, il te faudra peu être les retirer avec stripslashes :
http://www.php.net/manual/fr/function.stripslashes.php
..."INSERT INTO latable (lachaine) VALUES (" .addslashes($coms) . ")"...
ou avant l'insertion
$coms=addslashes($coms);
en pensant après que pour ton affichage, il te faudra peu être les retirer avec stripslashes :
http://www.php.net/manual/fr/function.stripslashes.php
david77179
Messages postés
155
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
9 janvier 2019
22
Modifié par david77179 le 17/12/2013 à 17:10
Modifié par david77179 le 17/12/2013 à 17:10
Merci de vos réponses :)
En faisant comme ca :
ça fonctionne niquel :)
Par le plus grand des hasards vous ne voyez pas une méthode pour l'appliquer à toutes les pages et toutes les variables ?
Encore merci :)
Une fois le problème résolu, pensez à cliquer sur le lien "Marquer comme résolu " =D
Vive les communautés d'entre aides et surtout CommentçaMarche.net
En faisant comme ca :
$coms = addslashes ($_POST['coms']);
ça fonctionne niquel :)
Par le plus grand des hasards vous ne voyez pas une méthode pour l'appliquer à toutes les pages et toutes les variables ?
Encore merci :)
Une fois le problème résolu, pensez à cliquer sur le lien "Marquer comme résolu " =D
Vive les communautés d'entre aides et surtout CommentçaMarche.net
niquel.
Par contre, comme l'à dit le père, il est préférable d'utiliser les fonctionnalité pdo prévu à cet effet. Dans ton cas l'échappement est suffisant mais ce serai plus .... "correct".
Pour ce qui est de l'appliquer à chaque variables, il ne me semble pas qu'il y a un paramètre qui échappera systématiquement lors d'insertion dans ta bdd, à vérifier mais j'en doute fortement ... donc pour échapper toutes tes variables ... il faut échapper toutes tes variables x) mais bon, normalement tu n'a à le faire que lors de communication avec la bdd (ou lors des post pour éviter les injections, mais ce n'est pas dans le même but ni strictement le même traitement).
naga
Par contre, comme l'à dit le père, il est préférable d'utiliser les fonctionnalité pdo prévu à cet effet. Dans ton cas l'échappement est suffisant mais ce serai plus .... "correct".
Pour ce qui est de l'appliquer à chaque variables, il ne me semble pas qu'il y a un paramètre qui échappera systématiquement lors d'insertion dans ta bdd, à vérifier mais j'en doute fortement ... donc pour échapper toutes tes variables ... il faut échapper toutes tes variables x) mais bon, normalement tu n'a à le faire que lors de communication avec la bdd (ou lors des post pour éviter les injections, mais ce n'est pas dans le même but ni strictement le même traitement).
naga
david77179
Messages postés
155
Date d'inscription
dimanche 6 juin 2010
Statut
Membre
Dernière intervention
9 janvier 2019
22
17 déc. 2013 à 17:31
17 déc. 2013 à 17:31
Merci beaucoup nagashima :)
Je vais pas me compliquer la vie j'ai une dizaine de variables à inserer sur 2 pages donc ca va me prendre 5 mins à peine ça sera plus simple :)
Encore merci à toi et merci à le père :)
Je vais pas me compliquer la vie j'ai une dizaine de variables à inserer sur 2 pages donc ca va me prendre 5 mins à peine ça sera plus simple :)
Encore merci à toi et merci à le père :)
17 déc. 2013 à 16:24
17 déc. 2013 à 16:28
17 déc. 2013 à 16:41
17 déc. 2013 à 16:45
Non non, c'est bien une obligation !
Le mieux est encore d'utiliser PDO, maintenant.
17 déc. 2013 à 17:04