ckeditor上传图片时与后端的csrfToken验证
来源:互联网 发布:网络应用层协议有哪些 编辑:程序博客网 时间:2024/06/09 22:28
本篇博客基于上一章为基础,主要解决在ckeditor上传图片功能与csrf 冲突问题。
ckeditor上传图片时会提交自己的csrf token,名字叫“ckCsrfToken“。
如果后端配置有csrf校验,这会产生冲突,解决办法有两种,一种是是对指定的表单提交添加csrfToken的HTML的代码,第二种是修改csrf的cookie名称方法。
1、设定ckeditor的默认值,如果是通过接口拿数据,这需要等ckeditor实例构建完成后设置
editor.on("instanceReady", function(ev) { self.$http.get(url) .then(function(response) { if (response.body.success) { ev.editor.setData(response.body.content); } });});
2、采用第一种方式,通过在上传图片表单中插入html代码
<input type="hidden" name="csrfmiddlewaretoken" value=getCookie("csrftoken")>
chrome和IE都有效,但是该方法在firefox中无效。
2、采用第二种方式,修改ckcsrfToken的取值和名称与后端需要的token名称和取值一致,通过修改ckeditor.js的源码
getCsrfToken:function(){var a=CKEDITOR.tools.getCookie("ckCsrfToken"); if(!a||40!=a.length){var a=[],b=""; if(window.crypto&&window.crypto.getRandomValues)a=new Uint8Array(40),
改为
getCsrfToken:function(){var a=CKEDITOR.tools.getCookie("csrftoken"); if(!a||32!=a.length){var a=[],b=""; if(window.crypto&&window.crypto.getRandomValues)a=new Uint8Array(32),
“csrftoken”为cookie中需要认证的csrftoken名称,32为csrftoken的长度,根据实际情况进行修改;
a=new CKEDITOR.dom.element("input"), a.setAttributes({name:"ckCsrfToken",type:"hidden"}),
改为
a=new CKEDITOR.dom.element("input"), a.setAttributes({name:"csrfmiddlewaretoken",type:"hidden"}),
该方法在firefox中成功执行,同时也兼容其它浏览器。
阅读全文
0 0
- ckeditor上传图片时与后端的csrfToken验证
- 【CKEditor 】CKEditor 图片的上传
- 【CKEditor 】CKEditor 图片的上传
- CKeditor上传图片的实现
- ckeditor上传图片的实现
- 文件、图片的上传(一)-----前端与后端代码
- C# ckeditor+ckfinder的图片上传配置
- ckeditor的使用(行距,上传图片,字体)
- ckeditor的图片上传、预览问题
- ckeditor粘贴的图片自动上传
- Java版的CKEditor + CKFinder图片上传
- django下ckeditor上传图片的实现
- 打开ckeditor的图片上传功能
- ckeditor的使用(包含上传图片)
- CKEditor图片上传的PHP实现
- ckeditor的使用(行距,上传图片,字体)
- ckeditor的使用(行距,上传图片,字体)
- 使用CKeditor的图片上传功能
- mybatis中#和$符号的区别
- TUM数据集测评工具的使用
- eclipse 创建maven web项目
- PAT(B)_1037. 在霍格沃茨找零钱(20)
- laravel(六)-Blade模板
- ckeditor上传图片时与后端的csrfToken验证
- LeetCode-Add to List 71. Simplify Path
- React-Native中的Text
- [模板]KMP算法
- spring boot mybatis打印sql
- Nginx实现虚拟主机 练习总结2017-6-20
- Glide类似You cannot start a load for a destroyed activity异常简单分析
- 51 WebGL切换着色器
- java异常捕获的一点感悟