PHP : échappe intenpestif des caractères...
Résolu
Nowne
Messages postés
89
Date d'inscription
Statut
Membre
Dernière intervention
-
Nowne Messages postés 89 Date d'inscription Statut Membre Dernière intervention -
Nowne Messages postés 89 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens de mettre mon site en ligne, et j'ai remarqué que lorsque l'on poste un message dans la BDD, php m'échappe les guillemets simple et double. Je comprend pas, ca ne me le fait pas en localhost chez moi, mais ca le fait quand je met ma page en ligne. Des solutions ?
Merci d'avance !
Je viens de mettre mon site en ligne, et j'ai remarqué que lorsque l'on poste un message dans la BDD, php m'échappe les guillemets simple et double. Je comprend pas, ca ne me le fait pas en localhost chez moi, mais ca le fait quand je met ma page en ligne. Des solutions ?
Merci d'avance !
A voir également:
- PHP : échappe intenpestif des caractères...
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
3 réponses
Salut.
C'est à cause de la fonction magic_quotes.
Elle sécurise les variables GPC (GET, Cookies et POST) en échappant les caractères susceptibles de créer une injection SQL.
Cette option n'est pas activée sur tous les serveurs (la preuve ...), est rendue obsolète depuis PHP 5.3.0, et sera supprimée en PHP6.
Pourquoi la supprimer ? Parce que toutes les données ne sont pas destinées à être enregistrées dans une base de données, donc ça peut être une source de perte de temps qu'on on doit annuler son effet.
Pour la désactiver :
http://fr.php.net/manual/fr/security.magicquotes.disabling.php
Par contre, n'oublie pas de sécuriser toi-même tes variables avec mysql_real_escape_string() ou PDO::quote().
Pour afficher les données, utilise stripslashes().
C'est à cause de la fonction magic_quotes.
Elle sécurise les variables GPC (GET, Cookies et POST) en échappant les caractères susceptibles de créer une injection SQL.
Cette option n'est pas activée sur tous les serveurs (la preuve ...), est rendue obsolète depuis PHP 5.3.0, et sera supprimée en PHP6.
Pourquoi la supprimer ? Parce que toutes les données ne sont pas destinées à être enregistrées dans une base de données, donc ça peut être une source de perte de temps qu'on on doit annuler son effet.
Pour la désactiver :
http://fr.php.net/manual/fr/security.magicquotes.disabling.php
Par contre, n'oublie pas de sécuriser toi-même tes variables avec mysql_real_escape_string() ou PDO::quote().
Pour afficher les données, utilise stripslashes().