javascript - 如何配置 CKEditor 从 <head> 中去除 &lt;script&gt; 标签?

标签 javascript html ckeditor xss

我目前在 CKEditor 4.5.8 配置文件中使用以下代码来删除 <svg><script>来自在 CKEditor 中编辑的 HTML 内容的标签。

config.allowedContent = {
    $1: {
        // Use the ability to specify elements as an object.
        elements: CKEDITOR.dtd,
        attributes: true,
        styles: true,
        classes: true
    }
};

config.disallowedContent = 'svg;script;';

当这些标签包含在 <body> 中时,它们都被剥离得很好, 但标签在包含在 <head> 中时全部保留.我特别担心<script>一直在附近。

CKEditor应该如何配置来剥离<script>来自 <head> 的标签?我是否缺少一些更深层次的配置元素?提前致谢!

最佳答案

在初始化 CKEditor 时添加额外的参数。如果你想编辑整个 HTML 页面,这是必要的,使用 <html> , <head><body>元素,你需要设置 config.fullPage选项为真:

config.allowedContent = {
    $1: {
        // Use the ability to specify elements as an object.
        elements: CKEDITOR.dtd,
        attributes: true,
        styles: true,
        classes: true,
        fullPage: true
    }
};

关于javascript - 如何配置 CKEditor 从 <head> 中去除 &lt;script&gt; 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46178245/

相关文章:

javascript - 为什么我的 svelte {#each} block 不是响应式(Reactive)的?

javascript - 动态改变 CKeditor 方向

javascript - 与CKEditor集成时如何为CKFinder设置 'commandPath'?

jquery - 在控件中输入文本后,CKEditor onSubmit 不起作用

javascript - 根据对象的 Angular 下拉数组显示内容

php - 将 php 头文件包含到我的索引 php 文件中 - 未生成错误

html - Div 收缩以包装绝对定位 div 宽度的问题

javascript - "||"在 javascript 中是什么意思(除了 OR 之外)?

javascript - 如何翻译网站中的特定内容

javascript - 如果至少一个字段已填充值,则启用提交按钮