Forums Liens Utiles


 
AccueilAccueil  FAQFAQ  S'enregistrerS'enregistrer  ConnexionConnexion  

Partagez | 
 

 PHP, champs cachés et anti-slashes d’échappement

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
alejandro
Hors catégorie
avatar

Nombre de messages : 1864
Localisation : Au sud du Nord, au nord du Sud, à l'est de l'Ouest et à l'ouest de l'Est.
Date d'inscription : 30/01/2005

MessageSujet: PHP, champs cachés et anti-slashes d’échappement   Dim 21 Oct 2007 - 22:38

Quelqu’un s’y connaît en PHP ?

Comme celui qui va me répondre (j’espère !!) le sait très bien, afin de ne pas confondre les guillemets qui servent à désigner une valeur littérale avec les guillemets qui se trouvent DANS la valeur littérale, on utilise des anti-slashs qu’il faut ajouter et supprimer dans les allés et retours du code. C’est comme ça qu’une chaîne telle que

    l'autre


se promène dans le code sous la forme

    l\'autre


L’anti-slash doit, bien sûr, être enlevé avant d’afficher la chaîne.

Seulement voilà, je me prends le chou avec le champ caché (<input type=hidden …>) qui semble ne pas prendre en considération le caractère d’échappement et tronque tout ce qui suit l’apostrophe.

Pour bien montrer ce dont je parle, voici un modèle réduit du code sur lequel je travaille.

Code:
<!-- ***************** fichier index.php *************** -->

<html><head></head><body><?php
if (get_magic_quotes_gpc()) echo "Le slashes automatiques sont ON" ;
elseif (!get_magic_quotes_gpc()) echo "Le slashes automatiques sont OFF" ;

echo "<table width=100%><tr><td width=20%>La variable passée : " .
   htmlentities($_POST['texte']) . " " . htmlentities($_POST['passe_texte']) . "</td><td><center>" ;

// Dispatche soit vers l'éditeur, soit vers la prévisualisation
if($_POST['vers_pre']) echo previsualisation() ;
elseif (!$_POST['vers_pre'] or $_POST['vers_ed']) echo editeur() ;
echo "</center></td><td width=20%>&nbsp;</td></tr></table>" ;

// Editeur qui permet de saisir du texte
function editeur()
   {
   $retour = "<h1>Editeur</h1>
         <form action='index.php' method='post' name='post'>
         <textarea name='texte' style='border:1px solid red;width:200px;height:200px'>" .
             $_POST['passe_texte'] .
         "</textarea><br>
         <input type='submit' name='vers_pre' value='Prévisualiser' style='width:200px'>
         </form>";
   return $retour ;
   }

//La prévisualisation qui sert à voir le résultat de la mise en forme
function previsualisation()
   {
   $retour = "<h1>Prévisualisation</h1>
         <form action='index.php' method='post' name='post'>
         <div style='border:1px solid blue;width:200px;height:200px;text-align:left'>" . $_POST['texte'] . "</div>
         <input type='submit' name='vers_ed' value='Editer' style='width:200px'>
         <input type=hidden value='" . addslashes($_POST['texte']) . "' name=passe_texte>
         </form>";
   return $retour ;
   }
?></body></html>

J’ai essayé toutes les combinaisons de addslashes et stripslashes, pas moyen de faire en sorte de les gérer correctement.

Si quelqu’un a une idée, je suis preneur.
Revenir en haut Aller en bas
http://www.alexgyg.fr
mogwai

avatar

Nombre de messages : 369
Date d'inscription : 05/09/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Mer 24 Oct 2007 - 19:23

envoyé message privé...
Revenir en haut Aller en bas
alejandro
Hors catégorie
avatar

Nombre de messages : 1864
Localisation : Au sud du Nord, au nord du Sud, à l'est de l'Ouest et à l'ouest de l'Est.
Date d'inscription : 30/01/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Lun 29 Oct 2007 - 1:47

Merci !!
Revenir en haut Aller en bas
http://www.alexgyg.fr
rizlabo
Saigneur des Grands Crus
avatar

Nombre de messages : 7973
Localisation : Poireaux et blaireaux, it's my way
Date d'inscription : 05/04/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Jeu 1 Nov 2007 - 6:54

Hébé, les mecs, vous êtes pas manchots !
Je deviens tellement sénile que j'ai même pas été foutu d'isoler le passage critique.

On peut savoir ?
Revenir en haut Aller en bas
alejandro
Hors catégorie
avatar

Nombre de messages : 1864
Localisation : Au sud du Nord, au nord du Sud, à l'est de l'Ouest et à l'ouest de l'Est.
Date d'inscription : 30/01/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Jeu 1 Nov 2007 - 15:26

J’ai mis tout le code pour que l’on puisse, d’un copier-coller, l’exécuter et voir ce qui se passe.

Le problème se trouve dans la fonction previsualisation() à la balise

<input type=hidden value='" . addslashes($_POST['texte']) . "' name=passe_texte>

l’attribut value interprète les guillemets qui se trouvent dans la chaîne, sans prendre en compte l’anti-slash d’échappement.

Mais j’ai plus ou moins trouvé une solution, en remplaçant les guillemets par le code html correspondant.
Revenir en haut Aller en bas
http://www.alexgyg.fr
rizlabo
Saigneur des Grands Crus
avatar

Nombre de messages : 7973
Localisation : Poireaux et blaireaux, it's my way
Date d'inscription : 05/04/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Ven 2 Nov 2007 - 19:17

Je reproche à l'environnement PHP le manque de debugger valable...
C'est vraiment une énorme perte de temps...
Je suis effaré... Quand je vois le niveau de sophistication des outils et des langages supportés par Microsoft, je ne donne pas cher de l'avenir du PHP... Mais ceci est un autre histoire, un mini-coup de gueule...
Ceci dit, chapeau Alejandro, t'as les mains dans le cambouis, le PHP est une excellente école.
Revenir en haut Aller en bas
alejandro
Hors catégorie
avatar

Nombre de messages : 1864
Localisation : Au sud du Nord, au nord du Sud, à l'est de l'Ouest et à l'ouest de l'Est.
Date d'inscription : 30/01/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Mer 7 Nov 2007 - 0:05

rizlabo a écrit:

Ceci dit, chapeau Alejandro, t'as les mains dans le cambouis, le PHP est une excellente école.

Oui, c'est un peu comme le C.
Revenir en haut Aller en bas
http://www.alexgyg.fr
mogwai

avatar

Nombre de messages : 369
Date d'inscription : 05/09/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Mer 7 Nov 2007 - 2:46

rizlabo a écrit:
je ne donne pas cher de l'avenir du PHP... .

Pourquoi penses-tu qu'on utilise de plus en plus l'aspx au lieu du php? Le jour ou j'ai le temps, je vais me mettre au asp je pense!
Revenir en haut Aller en bas
rizlabo
Saigneur des Grands Crus
avatar

Nombre de messages : 7973
Localisation : Poireaux et blaireaux, it's my way
Date d'inscription : 05/04/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Mer 7 Nov 2007 - 21:08

alejandro a écrit:
rizlabo a écrit:

Ceci dit, chapeau Alejandro, t'as les mains dans le cambouis, le PHP est une excellente école.

Oui, c'est un peu comme le C.
Vi, et pas qu'un peu... T'es au top !
Revenir en haut Aller en bas
rizlabo
Saigneur des Grands Crus
avatar

Nombre de messages : 7973
Localisation : Poireaux et blaireaux, it's my way
Date d'inscription : 05/04/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Mer 7 Nov 2007 - 21:09

mogwai a écrit:
rizlabo a écrit:
je ne donne pas cher de l'avenir du PHP... .

Pourquoi penses-tu qu'on utilise de plus en plus l'aspx au lieu du php? Le jour ou j'ai le temps, je vais me mettre au asp je pense!
J'hésite... C'est assez rare, mais il arrive à Microsoft de se ramasser sur un standard. Je trouve que la mayonnaise ne prend pas...
Revenir en haut Aller en bas
alejandro
Hors catégorie
avatar

Nombre de messages : 1864
Localisation : Au sud du Nord, au nord du Sud, à l'est de l'Ouest et à l'ouest de l'Est.
Date d'inscription : 30/01/2005

MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   Jeu 8 Nov 2007 - 0:08

rizlabo a écrit:
mogwai a écrit:
rizlabo a écrit:
je ne donne pas cher de l'avenir du PHP... .

Pourquoi penses-tu qu'on utilise de plus en plus l'aspx au lieu du php? Le jour ou j'ai le temps, je vais me mettre au asp je pense!
J'hésite... C'est assez rare, mais il arrive à Microsoft de se ramasser sur un standard. Je trouve que la mayonnaise ne prend pas...

Et ce aspx, qu'est-ce qu'il a de plus que le php? Ca ressemble à quoi (et ne me réponds pas que google est mon ami, parce que l'ami google ne me sort que des sites avec des extentions aspx, mais pas des sites qui en parlent!)

Ce que j'ai pu constater, c'est que la combinnaison MySQL/PHP est ce qui est le plus souvent proposé par les hébergeurs.

Maintenant, il est vrai que lorsqu'on voit du code source php et qu'on a un peu fait du langage compilé, on est un peu surpris. Au lieu de faire reposer le tout sur une saine conception orientée objet comme le PHP en donne la possibilité, leurs sources sont éclatées en des centaines de fichiers et des fonctions définies aux quatre coins du site sans véritable unité logique, ce qui les rendent illisibles. phpBB (le moteur de forum de référence) en est un exemple, mais le sommet de ce que j'ai pu voir est quand même osCommerce, où le seul fait de changer la bannière est déjà un problème.
Revenir en haut Aller en bas
http://www.alexgyg.fr
Contenu sponsorisé




MessageSujet: Re: PHP, champs cachés et anti-slashes d’échappement   

Revenir en haut Aller en bas
 
PHP, champs cachés et anti-slashes d’échappement
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» PHP, champs cachés et anti-slashes d’échappement
» Canons anti-chars français 1940 au champs d'honneur
» [collection] Brigade Anti-gangs (Champs-Élysées / Média1000)
» Une Zaria anti-magnétique
» Creme visage anti taches ?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forums Liens Utiles :: Informatique :: Informatique :: Logiciels-
Sauter vers: