You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CKEditor如何防范CSRF?ckCsrfToken机制及相关文档咨询

关于Double Submit Cookie策略的确认

没错,CKEditor 4.9.1及后续版本在文件上传场景中确实采用了Double Submit Cookie策略来防范CSRF攻击,这也是ckCsrfToken Cookie的核心用途。具体流程是:

  • 服务器端生成CSRF令牌后,将其存入ckCsrfToken Cookie中返回给客户端;
  • 当CKEditor发起文件上传请求(比如通过内置的上传组件或关联的CKFinder)时,前端JS会读取这个Cookie的值,并将它作为请求参数(或请求头)一并发送给服务器;
  • 服务器收到请求后,会同时校验Cookie中的令牌和请求中携带的令牌是否一致,只有两者匹配时才会处理上传请求,以此拦截跨域伪造的上传请求。

非HTTP-only Cookie的原因

这个Cookie没有设置为HTTP-only,是因为CKEditor的前端JavaScript需要直接读取它的值,才能把令牌附加到上传请求里。如果设置为HTTP-only,浏览器会禁止JS访问该Cookie,导致CKEditor无法完成令牌的传递,CSRF防护机制也就失效了。

源码与参考依据

虽然CKEditor官方没有单独的CSRF防护专题文档,但你可以通过以下方式找到相关细节:

  • 前端源码:在CKEditor的uploadwidget插件源码中(路径:ckeditor/plugins/uploadwidget/plugin.js),可以找到读取ckCsrfToken Cookie并将其添加到上传请求参数中的逻辑;
  • 版本发行说明:CKEditor 4.9.1的发行说明明确提到「Added CSRF protection for file uploads」,这是该Cookie引入的官方说明;
  • 配套工具文档:如果你搭配CKFinder使用CKEditor,CKFinder的相关文档中会有更详细的CSRF防护说明,因为两者的令牌机制是互通的。

内容的提问来源于stack exchange,提问作者Gyum Fox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:17:27