使用户输入对XML安全

时间:2012-06-14 19:45:41

标签: php xml character-encoding

使用PHP从用户提交的文本生成有效XML的最佳做法是什么,例如电子商务销售数据包括&符号,尖括号,非ascii重音字符,新行等等。

人们依赖哪些函数,库,正则表达式?

4 个答案:

答案 0 :(得分:4)

CDATA代码中包装信息,并使用htmlentities()

对数据进行编码
'<tag><![CDATA[' . htmlentities($theData) . ']]></tag>'

或使用DOM

$dom = new DOMDocument("1.0", "utf-8");

/* ... */

$dom->createCDATASection(htmlentities($theData));

答案 1 :(得分:1)

如果您想要二进制安全性,则需要使用其他传输编码。例如,您可以使用base64uuencode以二进制安全方式将数据存储在XML块中。

答案 2 :(得分:0)

答案 3 :(得分:0)

您也可以尝试:

html_entity_decode()