\"?-Golang-PHP中文网">
”? “/>”? " />
了解 HTML/模板转义
提出了一个问题,涉及 html/模板在保留“>”时不必要地将“
HTML 转义以确保安全
HTML/template 提供了潜在的自动转义用于防止代码注入漏洞的危险字符。这种转义是上下文相关的,确保数据在嵌入不同上下文(例如 HTML、CSS 或 URI)时得到正确编码。
HTML 的 html/template仅输出
但是,值得注意的是 html/template 是专门为生成 HTML 输出而设计的,其主要目的是提供一种将用户提供的数据嵌入到 HTML 文档中的安全方法。
使用 text/template 进行非 HTML 输出
如果您需要的输出不是 HTML,您应该使用 text/template ,与 html/template 不同,text/template 。不执行转义,允许您生成纯文本或自定义文件格式。
结论
在提供的示例中,模板旨在生成非 HTML文件,例如自述文件或许可证。因此,您应该使用不转义字符的text/template,以避免不必要的“<”编码。通过根据输出格式选择合适的模板包,可以确保正确的行为并避免意外的转义问题。
以上是为什么 html/template 转义 \"<\" 而不是 \">\"?的详细内容。更多信息请关注PHP中文网其他相关文章!