Je renvoie une réponse XML UTF-8 et certains éléments ont du contenu fourni par l'utilisateur, donc je dois m'assurer qu'ils sont correctement échappés. L'utilisation de htmlspecialchars(..., ENT_COMPAT, 'UTF-8')
est-elle suffisante pour permettre une évasion correcte d'un texte d'élément XML?est htmlspecialchars suficient pour échapper au contenu de l'élément XML dans la réponse HTTP?
2
A
Répondre
1
Je ne suis pas sûr de comprendre exactement ... vous voulez xml à l'intérieur de html ou html à l'intérieur de xml? si c'est le dernier, pourquoi ne pas utiliser CDATA?
par exemple.
<xmlelement>
<![CDATA[<span>John Smith</span>]]>
</xmlelement>
0
http://www.w3.org/TR/2008/REC-xml-20081126/
2,2 caractères ...
[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
Donc, cela vous dit qu'il n'y a aucun moyen de stocker des caractères dans la zone basse < 0x20 sans Tab, CR, LF. Dans Additional l'analyseur xml doit normaliser les sauts de ligne. Il doit convertir CR LF en LF et ainsi de suite.
Il n'y a donc aucun moyen ni nœud normal ni section CDATA qui permet de transporter une chaîne de caractères binaires en XML. SI vous voulez le transporter, vous devez le convertir en base64 ou le transport est comme une liste de numéros.
Questions connexes
- 1. Retour XML comme réponse HTTP
- 2. Modifier la réponse Http
- 3. Réponse Type de contenu au format CSV
- 4. Décomposition de la réponse HTTP
- 5. facettes totalement échapper xml
- 6. Accès au contenu d'un JAX-WS Dispatch Réponse
- 7. Obtenir une réponse d'erreur xml HTTP à l'aide cURL
- 8. Échapper des caractères spéciaux XML dans AJAX
- 9. Indy HTTP: lecture du contenu de la réponse sur un 403
- 10. Réponse HTTP Question
- 11. Réponse HTTP inhabituelle dans la programmation de base C++
- 12. Un ActionResult personnalisé pour une réponse http en plusieurs parties?
- 13. Rails: Comment obtenir la réponse des serveurs en-têtes HTTP?
- 14. Est-il nécessaire de définir la longueur de contenu dans mon en-tête de réponse?
- 15. Est-il possible d'accéder au contenu d'un objet XML à l'aide de la syntaxe à points?
- 16. Accéder aux en-têtes de réponse HTTP dans l'objet flash.net.URLLoader?
- 17. La réponse du client est différente de la réponse IE
- 18. Compactage des en-têtes de réponse HTTP?
- 19. Supprimer les espaces de noms xml de la réponse au repos WCF
- 20. La meilleure façon de jolie réponse XML d'impression dans Grails
- 21. Java appel http code de réponse de retour: 501
- 22. Est-il possible d'écrire un filtre de servlet pour inspecter les codes de réponse HTTP?
- 23. La réponse du service Web est null, mais la réponse du message SOAP est valide
- 24. C# Silverlight WebClient obtenir le type de réponse de contenu?
- 25. Pour échapper de nombreux _ dans LaTeX efficacement
- 26. Module HTTP de compression pouvant échapper les scripts en ligne
- 27. Que dois-je échapper à mon HTML (réponse JSON)
- 28. Comment produire une réponse 303 Http dans Django?
- 29. Retour de réponse XML dans le service REST
- 30. Quelle devrait être la réponse HTTP lorsque la ressource est interdite mais qu'il existe une autre ressource?
C'est une réponse texte/xml, pas html. Le '' est fourni par l'utilisateur, donc même pour CDATA, je dois m'assurer qu'un utilisateur malveillant n'entrera pas ']]' pour éviter tout xss ou quelque chose de similaire. –
voir http://stackoverflow.com/questions/223652/is-there-a-way-to-escape-a-cdata-end-token-in-xml. Vous devrez vérifier explicitement cette séquence de caractères et la déshabiller. –