模板意外转义
用户在开发工具中遇到模板问题。尽管使用了自动转义数据以实现安全 HTML 嵌入的 HTML 模板,但他们观察到,虽然字符 >正确显示,字符
说明
Go 的 html/template 包中的 HTML 模板是专门为生成 HTML 输出而设计的。它们提供自动的上下文相关编码,以确保数据值安全地嵌入 HTML 文档中。这种编码可以防止恶意用户将不安全的代码注入到输出中。但是,文本/模板包缺少此编码功能,仅将数据值解释为纯文本。
在这种情况下,由于用户打算生成非 HTML 输出(可能是 Pawn 脚本),因此使用文本/template 包会更合适。 html/template 包不必要地转义了
解决方案
要解决此问题,用户应切换到文本/生成非 HTML 输出时的模板包。这将禁用自动编码并允许正确显示所有字符,包括 <和>。
以上是为什么在我的 HTML 模板中 '<' 被转义为 '<',即使 '>' 正确显示?的详细内容。更多信息请关注PHP中文网其他相关文章!