我想保护我的应用程序免受攻击,所以我想在我的 CKEditor 配置中禁用任何类型的执行,所以我找到了一个解决方案 allowContent: false
这可以防止 <scripts>
CKEditor 内的标签,但放入 <p><a href="javascript:(alert(document.domain))">XSS</a></p>
之后在CKEditor中,因此它执行href
里面的js .
配置
config = {
...,
allowContent: false
}
现在,在放置上述配置后,以下脚本不起作用:
<script>alert(1)</script>
我还想阻止 href
内的以下 js但目前,它正在执行
<p><a href="javascript:(alert(document.domain))">XSS</a></p>
最佳答案
您必须清理输入到 CKEditor 的数据。 CKEditor 选项的 config.htmlEmbed.sanitizeHtml
允许插入外部清理程序。
在我看来,目前最好的 sanitizer 是 DOMPurify图书馆。
以下是有关在 CKEditor 中包含 DOMPurify 的更多信息:more info .
在我看来,“自己”保护 CKEditor 是非常困难的,所以最好使用 sanitizer。该软件存在一些安全问题,这里描述了一个有趣的例子:CKEditor XSS
关于javascript - 防止 CKEditor 中的 XSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70681006/