Bdd mysql avec 000webhost = slashes devant
Résolu
LelLex
Messages postés
1628
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Bdd mysql avec 000webhost = slashes devant
- Mysql community server - Télécharger - Bases de données
- Mettre 0 devant chiffre excel - Guide
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- Arnaud veut s'adresser directement à son ami marc dans un message sur un réseau social. quel symbole doit-il placer dans son message devant le nom d'utilisateur de marc ? ✓ - Forum Loisirs / Divertissements
- Supprimer le 0 devant un nombre excel ✓ - Forum Excel
6 réponses
Oui, soit tu fais addslashes, soit mysql_real_escape_string, mais pas les deux sur la même chaine.
Pour désactiver magic_quotes_gpc
https://www.php.net/manual/fr/configuration.changes.php
Avec un .htaccess :
Ou bien en annulant l'effet en PHP :
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Pour désactiver magic_quotes_gpc
https://www.php.net/manual/fr/configuration.changes.php
Avec un .htaccess :
php_flag magic_quotes_gpc off
Ou bien en annulant l'effet en PHP :
<?php function stripslashes_deep($value) { $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; } $_POST = stripslashes_deep($_POST); $_GET = stripslashes_deep($_GET); $_COOKIES = stripslashes_deep($_COOKIES); ?>
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
LelLex
Messages postés
1628
Date d'inscription
Statut
Membre
Dernière intervention
112
+ 10 !
Après plusieurs recherches, j'ai trouvé le problème. Puisque : magic_quotes_gpc = on ; ça équivaut à un addslashes(); pour get, post et cookies.
Bon d'accord ! Donc, j'ai juste à enlever mon addslashes(); mais par contre je laisse mon stripslashes(); ; c'est bien ça ?
Bon d'accord ! Donc, j'ai juste à enlever mon addslashes(); mais par contre je laisse mon stripslashes(); ; c'est bien ça ?
Je te conseil plutôt de désactiver l'option magic_quotes_gpc.
Il faut utiliser soit addslashes, soit mysql_real_escape_string, sinon tu auras deux backslashes qui se mettront avant les « " » et « ' » : il faudra appelé 2x « stripslashes() ».
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Il faut utiliser soit addslashes, soit mysql_real_escape_string, sinon tu auras deux backslashes qui se mettront avant les « " » et « ' » : il faudra appelé 2x « stripslashes() ».
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Je ne peux pas protéger ma variable comme ceci :
$variable = mysql_real_escape_string( htmlspecialchars( addslashes($_POST['variable']) ) ); ?
Soit je mets string, soit je mets addslashes ? ( C'est ça que tu veux dire ? )
Bon je vais voir comment désactiver magic_quotes.
Merci F16.
$variable = mysql_real_escape_string( htmlspecialchars( addslashes($_POST['variable']) ) ); ?
Soit je mets string, soit je mets addslashes ? ( C'est ça que tu veux dire ? )
Bon je vais voir comment désactiver magic_quotes.
Merci F16.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Okay d'accord. !
Par contre, tu peux me dire pourquoi il ne faut pas mettre les deux sur la même chaîne ?
Merci F16. ;)
Par contre, tu peux me dire pourquoi il ne faut pas mettre les deux sur la même chaîne ?
Merci F16. ;)
Parce que addslashes va remplacer ' par \'.
Après, mysql_real_escape_string va encore trouvé ' donc il va le remplacer par \'
Au final, on se retrouve avec \\'
Après un coup de stripslashes, ça ne retire qu'un \ : on obtient \'
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Après, mysql_real_escape_string va encore trouvé ' donc il va le remplacer par \'
Au final, on se retrouve avec \\'
Après un coup de stripslashes, ça ne retire qu'un \ : on obtient \'
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.