You are not logged in.
Bonjour
Nous disposons d'un applicatif permettant la création/suivi de tickets dans GLPI, utilisant pour cela l'API Rest.
Dans certain cas, les tickets apparaissent mal formaté (on affiche le code HTML correspondant au descriptif du ticket).
C'est un probleme tres similaire en apparance à Bogues GLPI/Problème affichage ticket après migration v10.0.10 28853
Les conditions se posent lors de la présence de caractères '<' et '>' dans le content du call API ( qui sera utilisé comme descriptif du ticket).
Pour des raisons internes (=> src/ToolBox/Sanitized.php), il y a une methode qui détermine si les données sont de type HTML (si présence de '<', '>').
Selon ce cas, un encodage va etre effectué (remplace '<'/'>','&' , ...) par des <,>,& et stocke les données en base.
Ensuite les données sont sockes en base (table glpi_logs , champ content)
A l'affichage , les données sont chargées de la table , subissent le réencodage inverse puis affiché.
Le drame se produit si les données initiales ont déja été encodés en ne remplacant QUE ( les '<>' des tags xml en <> ), mais ne modifiant pas les '<>' hors tags.
Il semble que le probleme 288553 soit similaire , mais avec des données deja en base.
Last edited by J2C99 (2024-03-07 15:37:34)
Offline
Cas du création du ticket '&#!pouet;"
Lors de la création par notre application interne, la saisie est restreinte à "&#!pouet;"
Un call API /apirest.php/Ticket de type POST est effectué , avec la valeur content suivante:
"Descriptif: &!#pouet;<br />Lieu de travail : Autre/Domicile"
En base de données
"Descriptif: &#!pouet;&lt;br /&gt;Lieu de travail : Autre/Domicile"
A l'affichage
"Descriptif: &#!pouet;<br />Lieu de travail : Autre/Domicile"
Au lieu de
"Descriptif: &#!pouet;
Lieu de travail : Autre/Domicile"
Le probleme ne se pose pas avec &#!pouetpouet en raison de l'absence du caractère ';' à la fin.
Last edited by J2C99 (2024-03-25 10:24:31)
Offline