2016-03-25 3 views
0

Моя проблема заключается в том, что при загрузке файлов отображается следующая ошибка. Как решить эту проблему?CsrfToken elfinder ckEditor в Laravel 5.2

это мой код в шаблоне:

<script src="/vendor/unisharp/laravel-ckeditor/ckeditor.js"></script> 
        <script src="/vendor/unisharp/laravel-ckeditor/adapters/jquery.js"></script> 
        <textarea name="content" class="form-control my-editor"></textarea> 
        <script> 
         $('textarea.my-editor').ckeditor({ 
          filebrowserImageBrowseUrl: '{!! route('elfinder.ckeditor') !!}', 
         }); 
        </script> 

enter image description here

Я не знаю, почему, хотя опять же есть лексемы операция не может быть выполнена, а количество ошибок показывает файл

CKEditor :

$().ready(function() { 
     var elf = $('#elfinder').elfinder({ 
// set your elFinder options here 
      <?php if($locale){ ?> 
      lang: '<?= $locale ?>', // locale 
      <?php } ?> 
      <?php if($csrf){ ?> 
      data: { _token: '<?php echo csrf_field(); ?>' }, 
      <?php } ?> 
      url: '<?= route('elfinder.connector') ?>', // connector URL 
      getFileCallback : function(file) { 
       window.opener.CKEDITOR.tools.callFunction(funcNum,    file.url); 
       window.close(); 
      } 
     }).elfinder('instance'); 
    }); 

это не работает :(

+1

Вы использовали форму для этого? – geckob

ответ

2

Laravel 5 добавил токен VerifyCSRF в промежуточном программном обеспечении web. В основном это то, что нужно вводить токен, который будет проверен позже, когда пользователь отправит форму, чтобы предотвратить атаки на подделку (CSRF).

Вы можете отключить его в app/Http/Kernel.php, но это не рекомендуется.

Другие варианты - включить маркер в вашу форму для отправки на сервер по запросу.

Добавьте это в вашу форму.

{{ csrf_field() }} 

Он будет генерирует следующий HTML фрагмент:

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>"> 

Приведи: Laravel docs на это изменение

+1

Я думаю, что отключено VerifyCSRF не хорошо, это не – channasmcs

+1

@channasmcs: Да. Он работает на вас? – geckob

+0

эй geckob у меня такая же проблема с codignter & laravel. обычно это случалось {!! Форма :: token() !!} является решением для меня – channasmcs

0

вы elfinder вариант для отправки дополнительных данных POST в "CustomData".

$().ready(function() { 
      var elf = $('#elfinder').elfinder({ 
       // set your elFinder options here 
       customData: { 
        _token: '<?php echo csrf_token() ?>' 
       }, 
       dialog: {width: 900, modal: true, title: 'Select a file'}, 
       resizable: false, 
       commandsOptions: { 
        getfile: { 
         oncomplete: 'destroy' 
        } 
       }, 
       getFileCallback: function (file) { 
        $('<?php echo $input_id?>').summernote('editor.insertImage',files.url); 
       } 
      }).elfinder('instance'); 
     }); 

Ваш выбор - данные, изменить его в customData. Также высылайте только сумму токенов csrf с помощью csrf_token()