我最近在 Code Review 上发布了这个问题,建议我向你们提问。
基本上,这将用于允许用户生成格式化的内容。它被放置在 HTML 标记中,因此我不必担心攻击者会破坏属性。如果不清楚,这里有一个例子:
<div>
Generated content
</div>
编辑:我没有将内容插入到属性中,所以转义引号不是问题。我知道我仍然需要检查用户生成内容中的不良属性,这是脚本的大部分内容。
我已经确定我很容易受到发布恶意链接或发布跟踪图像的攻击者的攻击,但这是我愿意接受的。如果没有白名单 URL,我认为您无法阻止这种情况,这也会大大降低用户的自由度。如果有一种可行的方法来修复这个漏洞,我很想听听。
我已经阅读了OWASP XSS 备忘单,并且我认为我已经涵盖了所有这些基础。
除了备忘单之外,我还需要担心什么?我错过了什么吗?我的代码是面向未来的吗?我是不是有点过头了?我应该切换到 BBCode 还是 Markup?