清理从CKEditor getData()方法接收的HTML数据[ckeditor]

时间:2018-08-17 12:05:09

标签: ckeditor4.x

当我使用CKEDITOR.instances['textareaId'].getData();函数时,我想从CKEditor中获取经过清理的数据。

我注意到CKEditor内部清除了“源”部分中提供的输入。

示例

  • 如果输入为<p onclick="alert('document.cookie')">Some Text</p>,它将转换为<p>Some Text</p>
  • 但是,当我尝试使用CKEDITOR.instances['textareaId'].getData();检索数据时,它将返回<p onclick="alert('document.cookie')">Some Text</p>

调用getData()函数时,CKEditor是否可以清除数据?

1 个答案:

答案 0 :(得分:0)

从CKEditor的角度来看,请不要禁用高级内容过滤器(ACF),请不要使用config.allowedContent = true;。这样,不需要的HTML属性将被删除。

但是请注意,无论多么出色,JavaScript始终可以被禁用,因此ACF绝不能被视为安全过滤器。如果您希望清理HTML,请为此使用服务器端库,而不要使用JavaScript。使用服务器端应用程序代码对用户输入进行消毒是唯一的正确方法。