私はCodeigniter 2.1.0とCSRFで動作するようにUploadify 2.1.4を取得しようとしています。私は運があまりありません。私は私に戻って投げ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をオフにしない限り、私はいつもHTTP 500で終わります。
誰かが本当に感謝してもらえると助けてくれたら。私はこの質問がたくさん聞かれるように思えるし、それは私をナッツにしている。 CSRFを標準のAJAXリクエストと一緒に渡すという副作用はうまく動作しますが、アップロードするだけでは問題ありません。
小さなメモ。 CSRFを有効にしている間は、一致ユーザーエージェントオプションは無効になっています。 – Vunus