首页 > 解决方案 > 可以将相同的编码用于 HTML 属性和内容清理吗?

问题描述

在我的 JS 应用程序中,我必须防止 OWASP Anti XSS 备忘单中提到的前 2 条规则:

规则1:

<body>
...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE...
</body>

规则 2

<div attr="...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE...">content

根据指南,对于规则 1,应编码以下字符 &'"<>。

因此,如果我有以下编码功能,这应该就足够了,不是吗?

 .replace(/&/g, '&amp;')
 .replace(/'/g, '&apos;')
 .replace(/"/g, '&quot;')
 .replace(/</g, '&lt;')
 .replace(/>/g, '&gt;')

在这两种情况下,我可以使用这种编码来保护应用程序吗(即使对于规则 2,只有引号就足够了,对吗?)?

标签: javascriptxss

解决方案


推荐阅读