|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 15 ![]() |
Bonjour,
Je créé des images textes avec un contenu dynamique provenant d'une base de donnée. J'ai un soucis sur une toute petite chose : lorsque j'ai des textes avec des apostrophes (par exemple, La Pousse d'Or) ce m'affiche tout ,sauf ce que j'ai à droite de l'apostrophe (sur mon exemple, cela m'affiche : La Pousse d). J'ai inséré dans ma base de donnée mon texte grace à un addslashes() et essaye de reprendre mon texte dans mon image grace à un stripslashes() mais cela ne change rien. Si vous aviez une solution à me proposer au cas où vous avez déjà rencontrer la même problème ... Gracieusement, merci pour vos futures réponses ... Adaviada |
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Il nous faudrait plus d'éléments pour nous-même comprendre : notamment la forme des données au fur et à mesure des traitements qui leur sont effectués (comment se présente "La Pousse d'Or" avant insertion, après insertion ou à sa récupération) et le code (GD) en question.
Note : vous ne devriez plus utiliser addslashes mais mysql_real_escape_string pour protéger les données à destination de MySQL ! |
|
|
00
|
|
|
#3 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Pour de plus amples informations : Comment se protéger des failles d'injection ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#4 | ||||
|
Invité de passage
![]() Inscription : juin 2007 Messages : 15 ![]() |
Bonjour,
Malheureusement j'ai bien essayé de comprendre de quoi vous me parler mais j'ai un peu de mal à vous suivre, notamement sur ce à quoi sert la fonction mysql_real_escape_string(). Alors en fait, j'insère pour l'instant directement dans ma base de donnée via mon PHPMyAdmin mais je risque d'insérer mes données via un formulaire d'ici peu. L'affichage sur ma page de mon image-texte se fait de cette facon : 1/ je fais une requète qui me permet de récupérer les données dont j'ai besoin (en l'occurence le texte que je souhaite mettre dans mon image). 2/ j'appelle mon image de cette facon : Code :
Code :
Est-ce que j'ai été plus clair ?? Je n'ai toujours pas trouvé de solution ... |
||||
|
|
00
|
|
|
#5 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Est-ce mieux avec :
Code :
echo "<img src='titre2.php?titre=".urlencode(stripslashes($titre))."'>"; |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 15 ![]() |
Merci pour ta réponse et ton aide,
Je ne sais pas si c'est mieux ... cela m'affiche "Pousse d\'Or" ... j'ai un slash en trop ... comment pourrais-je l'enlevé ?? |
|
|
00
|
|
|
#7 | ||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
En reprenant ton code, ceci fonctionne parfaitement :
Code :
Par contre, il faudrait vérifier si cela ne pose pas de problème de sécurité d'insérer du texte utilisateur dans une image. Il me semble qu'une faille a été découverte il y a très peu de temps, justement...
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : juin 2007 Messages : 15 ![]() |
J'ai justement suprimé la fonction remplace() dans le code dont je me suis servie ... il faut donc que dans ma base le champs soit celui-ci : La Pousse d\'Or ??? parce que sinon de mon coté j'ai tjr le slash qi s'affiche dans mon image ...
Sinon je n'y connais rien en sécurité .. je ne comprend même pas de quoi tu me parles |
|
|
00
|
|
|
#9 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
La fonction stripslahes devrait les supprimer (à appliquer aussi à la réception)
Dans votre base de données vous ne devriez pas avoir "La Pousse d\'Or" mais "La Pousse d'Or". L'échappement ne doit être présent que dans la requête pour faire passer les caractères spéciaux, ils n'apparaissent plus après dans vos données. |
|
|
00
|
|
|
#10 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
J'ai un \ dans mon exemple car j'utilise des apostrophes et non des guillemets.
cf. Apostrophes ou guillemets, lesquels choisir ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com