问题描述
我正在使用增强的图像插件将图像上传到服务器。我的后端是Django。在django-ckeditor的帮助下,我在CKEDITOR中实现了图片上传的前端和后端部分。
但是,Django-Ckeditor不处理图像上传中的csrf保护。 它使用csrf_exempt装饰器来免除csrf保护。
upload = csrf_exempt(ImageUploadView.as_view())
如何将csrf标记添加到用于图像上传的post请求中?我是否必须在处理csrf标记的upload插件中编写自己的表单?
1楼
简单的方法是在filebrowserImageUploadUrl中添加csrf标记,见下文(jsp)
$(document).ready(function() {
var editor = CKEDITOR.replace('content', { skin: 'moonocolor',
toolbar: 'MyToolbar',
filebrowserImageUploadUrl: "<c:url value="/site/upload"/>${_csrf.parameterName}=${_csrf.token}" });
}
});
2楼
我只是简单地将csrf标记连接到我的上传网址:
filebrowserImageUploadUrl: '/laravel-filemanager/upload?type=Images&_token=' + $('meta[name=csrf-token]').attr("content"),