php - 使用户输入对 XML 安全

标签 php xml character-encoding

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

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

最佳答案

将信息包装在CDATA 标签中并使用htmlentities() 对数据进行编码

'<tag><![CDATA[' . htmlentities($theData) . ']]></tag>'

或使用 DOM

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

/* ... */

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

关于php - 使用户输入对 XML 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11040285/

相关文章:

PHP匹配正则表达式中的多个完整单词

php - git push php 和主机 key 验证失败

linux - 将存储库从 Windows 迁移到 Linux 时格式错误的转储文件头(编码问题?)

php - MySQL 中的 stripos 等价物

php - 如何更新复合主键的一部分?

c# - 使用 XmlNode.selectSingleNode 选择一个节点

javascript - 如何在 iframe 中强制 xml-outlined/pretty 打印?

sql - 如何在 SQL Server 中使用 AXSD?

MySQL 字符编码更改。是否保留了数据完整性?

jquery - UTF-8 编码、JSP、jQuery、Spring 的问题