MarkupEasy 实现了一个文本对象,该对象会转义字符,使其可以安全地用于 HTML 和 XML。具有特殊含义的字符会被替换,以便它们显示为实际字符。这可以缓解注入攻击,意味着不受信任的用户输入可以安全地显示在页面上。
>>> from markupsafe import Markup, escape
>>> # escape 会替换特殊字符并用 Markup 包装
>>> escape("<script>alert(document.cookie);</script>")
Markup('<script>alert(document.cookie);</script>')
>>> # 用 Markup 包装以将文本标记为“安全”并防止转义
>>> Markup("<strong>Hello</strong>")
Markup('<strong>hello</strong>')
>>> escape(Markup("<strong>Hello</strong>"))
Markup('<strong>hello</strong>')
>>> # Markup 是 str 的子类
>>> # 方法和运算符会转义它们的参数
>>> template = Markup("Hello <em>{name}</em>")
>>> template.format(name='"World"')
Markup('Hello <em>"World"</em>')Pallets 组织开发并支持 MarkupEasy 和其他流行包。为了发展贡献者和用户社区,并允许维护者投入更多时间到项目中,请立即捐赠。
请参阅我们详细的贡献文档,了解多种贡献方式,包括报告问题、请求功能、提问或回答问题以及提交 PR。