根据 使用Python创建简单XML文件,在Python中生成XML文件的最简单方法之一是使用Python内置的ElementTree XML API。
然而,Python 3文档包含以下警告:
例如,我的应用程序有一个
为什么
然而,Python 3文档包含以下警告:
我原计划使用ElementTree库来构建具有用户输入属性值的XML请求。然而,我现在担心我的应用程序的安全性。警告: {{link3:
xml.etree.ElementTree
}} 模块不安全,容易受到恶意构造的数据攻击。如果需要解析不受信任或未经身份验证的数据,请参阅 XML漏洞。
例如,我的应用程序有一个
logon()
函数,其中包括用户输入的用户名和密码作为参数。然后将这些值用作XML属性。import xml.etree.ElementTree as ET
def logon(username, password):
# Create XML logon request for external webservice
root = ET.Element("xml")
body = ET.SubElement(root, "Logon")
body.set("Username", username)
body.set("Password", password)
return ET.tostring(root, encoding="UTF-8", method="xml")
为什么
xml.etree.ElementTree
被认为是不安全的?在使用用户定义的XML属性值时是否安全?