猿问

什么是上下文感知变量?

我听到有人谈论 Go 在使用 HTML 时如何很好地实现“上下文感知变量”。它们是什么以及它们如何工作?

我猜因为它与安全性有关,所以它是某种知道它是否已经过消毒的变量。它是否类似于unsanitizedString在转换为普通字符串时自动清理内容的类?


紫衣仙女
浏览 157回答 1
1回答

摇曳的蔷薇

在HTML /模板包是上下文感知。这个包理解 HTML、CSS、JavaScript 和 URI。它为每个简单的操作管道添加了消毒功能因此,如果您有Foo包含的变量<script>alert('you have been pwned')</script>并将其打印在 html 元素中,<p>{{.Foo}}</p>Foo 将被正确转义以避免脚本注入。使用时html/template,如果您想在应该发生转义时覆盖,则必须向变量添加显式类型。这是一个例子
随时随地看视频慕课网APP

相关分类

Go
我要回答