我正在返回一個UTF-8 XML響應,並且一些元素具有用戶提供的內容,所以我必須確保它們已正確轉義。足夠使用htmlspecialchars(..., ENT_COMPAT, 'UTF-8')
來正確轉義XML元素文本?是htmlspecialchars足夠在HTTP響應中轉義XML元素內容嗎?
2
A
回答
1
我不確定我是否明白... 你想要xml裏面的html或html裏面的xml嗎? 如果是後者,爲什麼不使用CDATA?
例如
<xmlelement>
<![CDATA[<span>John Smith</span>]]>
</xmlelement>
0
http://www.w3.org/TR/2008/REC-xml-20081126/
2.2字符 ...
[2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
所以這告訴你,有沒有方法來存儲在低位區域<爲0x20無標籤,CR,LF字符。另外,xml解析器必須規範行提要。它必須將CR LF轉換爲LF等等。
因此,既不允許在XML中傳輸二進制字符串的正常節點也不允許CDATA節。如果你想運輸它,你必須將它轉換爲base64或運輸是數字列表。
相關問題
- 1. htmlspecialchars()足夠安全嗎?
- 2. 我的API響應足夠好嗎?
- 3. htmlspecialchars會轉義javascript嗎?
- 4. 從HTTP XML響應中提取元素 - HTTP客戶端和Java
- 5. Allign元素足夠接近
- 6. 在HTTP響應中切換元素
- 7. 在python中將http響應內容類型設置爲「xml」
- 8. 內容類型不是外鍵足夠嗎?
- 9. 創建響應內容懸停元素
- 10. Selenium webdriver如何找到滿足javascript的http響應元素
- 11. 允許在XML元素的內容中
- 12. 從HTTP套接字響應中獲取XML元素的值
- 13. 足夠的保護足夠了嗎?
- 14. Recv沒有返回足夠的字節(二進制http響應)?
- 15. 在CSS僞元素中轉換內容
- 16. 我應該將XML節點放在容器元素中嗎?
- 17. 引導響應表中沒有足夠的響應文本
- 18. 從XML元素內容中獲取InputStream
- 19. 查詢元素中的XML內容
- 20. HashMaps足夠快嗎?
- 21. 收聽事件「足夠接近」元素
- 22. HTTP響應中的XML
- 23. 將ExecuteReader轉換爲XML HTTP響應
- 24. 沒有足夠的內存將base64 rtf doc轉換爲xml?
- 25. 應該在http響應內容長度中包含換行符嗎?
- 26. HTTP HEAD響應 - 設置內容長度
- 27. Perl如何解析HTTP響應內容
- 28. PHP獲取HTTP 400響應的內容
- 29. HTTP響應412 - 您可以包含內容嗎?
- 30. 如何融合兩個內容元素? /所有內容元素都存在嗎?
它是一個text/xml響應,沒有html。 ''是用戶提供的,所以即使對於CDATA,我也必須確保惡意用戶不輸入']]'以避免任何xss或類似的東西。 – 2009-06-18 08:04:20