Stripcslashes supprime trop d'antislashes
Résolu
Piven
Messages postés
90
Statut
Membre
-
Piven Messages postés 90 Statut Membre -
Piven Messages postés 90 Statut Membre -
Bonjour, Voila mon problème, pour des raisons de sécurité, je suis amener à crypter des données. Seulement, ces données, une fois cryptées, peuvent contenir des guillemets (simple ou double). Je suis donc obligé de faire un addslashes avant de les enregistrer. Et donc un stripcslashes pour les récupérer. Seulement stripcslashes() supprime aussi des \ contenu dans les données. Et donc, une fois décryptées, ces données sont fausses.
exemple:
donnée crypté : 1azd^sd\Efsd
retour après stripcslashes : 1azd^sdEfsd.
exemple:
donnée crypté : 1azd^sd\Efsd
retour après stripcslashes : 1azd^sdEfsd.
A voir également:
- Stripcslashes supprime trop d'antislashes
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Comment supprimer un fichier qui refuse d'être supprimé - Guide
- Comment retrouver un numero supprimé - Accueil - Android
- Train supprimé sncf - Accueil - Guide transports et cartes
6 réponses
Ce n'est pas dans la chaine qu'il y en a , mais dans la chaine cryptée, donc si je les vire, une fois décryptées, les données ne seront pas identique à celle rentrées au départ.
Après une petite enquête, il semblerait que MySQL supprime automatiquement un \ quand il en rencontre deux. Ce qui fait que stripcslashes, lui supprime le dernier. Seulement ce n'est pas le cas avec les \' ou \". Donc je ne sais pas trop quoi faire... Certaines valeurs bug avec stripcslashes et d'autres sans...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est étrange...
Chez moi stripcslashes ne supprime pas de \ en trop.
Chez moi stripcslashes ne supprime pas de \ en trop.
$str ="dsfd \\g'fdfg^\\g\\\\f'dg'f\n"; echo $str; $str = addslashes($str); echo $str; echo stripcslashes($str);Tu es sur de ne pas avoir déjà une chaine correcte avant de faire ton stripcslashes ?
Comme de toutes évidence, MySQL effectue un stripcslashes avant de renvoyer des données, j'ai donc stoppé le stripcslashes de ces données, sans oublier de l'effectuer tout de même sur les données provenant de fichiers sur le serveur (Hé oui, sécurité oblige, les données sont éparpiller un peu partout !).
Merci pour ceux qui ont essayé de m'aider, mais ça a l'aire à peu près stable pour le moment.
Merci pour ceux qui ont essayé de m'aider, mais ça a l'aire à peu près stable pour le moment.