Uploadify 2.1.4를 Codeigniter 2.1.0 및 CSRF와 함께 사용하려고 노력 중입니다. 많은 행운이 없습니다. 내가 나에게 다시 던져 HTTP 500을 얻을 이미지를 업로드 할 때Codeigniter + CSRF와 함께 작동하는 Uploadify를 얻는 방법은 무엇입니까?
$(function() {
var cct = $.cookie('csrf_cookie_name');
$('#uploadifyMe').uploadify({
'uploader' : '<?php echo site_url(); ?>js/uploadify/uploadify.swf',
'script' : '<?php echo site_url(); ?>upload/',
'cancelImg' : '<?php echo site_url(); ?>js/uploadify/cancel.png',
'multi' : true,
'auto' : false,
'fileExt' : '*.jpg;*.jpeg',
'fileDesc' : 'Image Files (JPG, JPEG)',
'fileDataName' : 'imgData',
'queueID' : 'fileQueue',
'simUploadLimit' : 1,
'sizeLimit' : 7340032,
'removeCompleted': false,
'scriptData' : { 'csrf_token_name' : cct, 'upload' : 'true' },
'onSelectOnce' : function(event, data) {
$('.uploadifyProgress').addClass('progress');
$('.uploadifyProgressBar').addClass('bar');
},
'onComplete' : function(e, i, f, r, d) {
console.log(r);
},
'onError' : function(e, i, f, eO) {
console.log(eO);
if(eO.info == 500) {
$('#status').prop('class', 'alert alert-error').html('<a class="close" data-dismiss="alert">×</a><h4>Hmmm. Something gone wrong it has.</h4> Yoda has discovered that your security token has expired. This is because you have been here for longer than two hours. we cannot refresh your key automatically, please refresh the page and try again.');
}
}
});
});
문제는 : 나는 아주 기본적인 업로드 컨트롤러 & uploadify에 대한 다음과 같은 코드가 있습니다. 이제 CSRF가 켜져 있기 때문에 CSRF가 켜져 있다는 것을 알았습니다.
나는이 문제에 대한 많은 해결책을 시도했다. 내 코드에서 볼 수있는 코드와 여기서 나온 코드를 사용하여 세션 데이터를 복제하고 CSRF 키로 전송하지만 아무 것도 작동하지 않습니다. CSRF를 끄지 않으면 항상 500 HTTP로 끝납니다.
누구든지 도움을받을 수 있다면 정말 감사하겠습니다. 나는이 질문이 많은 질문을받는 것 같음을 깨닫고 열매를 맺는다. 표준 AJAX 요청과 함께 CSRF를 전달하는 쪽지에서는 잘 작동하며 uploadify는 작동하지 않습니다.
작은 메모. CSRF를 활성화 한 상태에서 일치 사용자 에이전트 옵션을 사용할 수 없습니다. – Vunus