在 CKEditor 中防止 XSS
Prevent XSS in CKEditor
我想保护我的应用程序免受攻击,所以我想在我的 CKEditor 配置中禁用任何类型的执行,所以我找到了一个 allowContent: false
的解决方案,它可以防止 CKEditor 中的 <scripts>
标签但是在将 <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
允许插入外部消毒器。
在我看来,目前最好的消毒剂是 DOMPurify 图书馆。
这里是关于在 CKEditor 中包含 DOMPurify 的更多信息:more info。
在我看来,“靠你自己”很难保护 CKEditor,所以最好使用消毒剂。该软件存在一些安全问题,此处描述了一个有趣的示例:CKEditor XSS
我想保护我的应用程序免受攻击,所以我想在我的 CKEditor 配置中禁用任何类型的执行,所以我找到了一个 allowContent: false
的解决方案,它可以防止 CKEditor 中的 <scripts>
标签但是在将 <p><a href="javascript:(alert(document.domain))">XSS</a></p>
放入 CKEditor 之后,它会在 href
.
配置
config = {
...,
allowContent: false
}
现在下面的脚本在放置上面的配置后不起作用:
<script>alert(1)</script>
我也想在 href
中阻止下面的 js 但目前,它正在执行
<p><a href="javascript:(alert(document.domain))">XSS</a></p>
您必须清理输入到 CKEditor 的数据。 CKEditor 选项的 config.htmlEmbed.sanitizeHtml
允许插入外部消毒器。
在我看来,目前最好的消毒剂是 DOMPurify 图书馆。
这里是关于在 CKEditor 中包含 DOMPurify 的更多信息:more info。
在我看来,“靠你自己”很难保护 CKEditor,所以最好使用消毒剂。该软件存在一些安全问题,此处描述了一个有趣的示例:CKEditor XSS