Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 870

输出编码

审核人Cybersecurity entrepreneur & security researcher

输出编码 是什么?

输出编码将不可信数据转换为特定输出上下文(HTML、JavaScript、URL、SQL、Shell)安全的形式,使其无法逃逸并被当作代码执行。


输出编码(或转义)是防御注入漏洞的核心手段,这类漏洞产生于数据在另一个解释器中被渲染时。每种上下文有各自规则:HTML 主体使用 HTML 实体编码,HTML 属性使用属性编码,JS 字符串字面量使用 JavaScript Unicode 转义,URL 使用百分号编码,SQL 与 Shell 则使用参数化接口。编码必须在数据离开信任边界、进入下游解释器的那个精确位置应用,并使用与上下文匹配的编码器。结合输入校验与参数化查询,输出编码是防御 XSS、HTML 注入、命令注入与 CSV 注入的核心措施。

示例

  1. 01

    在页面主体渲染用户评论前进行 HTML 实体编码,阻止反射型 XSS。

  2. 02

    在服务器端模板中,将插入到 JS 字符串字面量的值进行 JavaScript 编码。

常见问题

输出编码 是什么?

将不可信数据转换为特定输出上下文(HTML、JavaScript、URL、SQL、Shell)安全的形式,使其无法逃逸并被当作代码执行。 它属于网络安全的 应用安全 分类。

输出编码 是什么意思?

将不可信数据转换为特定输出上下文(HTML、JavaScript、URL、SQL、Shell)安全的形式,使其无法逃逸并被当作代码执行。

如何防御 输出编码?

针对 输出编码 的防御通常结合技术控制与运营实践,详见上方完整定义。

输出编码 还有哪些其他名称?

常见的别称包括: 输出转义, 上下文转义。

相关术语

另见