2016-03-25 11 views
0

Mein Problem ist, dass, wenn Dateien die folgenden Fehler Hochladen angezeigt wird. Wie löse ich dieses Problem?CsrfToken elfinder CKEditor in Laravel 5.2

dies mein Code in Vorlage:

<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

Ich weiß nicht, warum, obwohl auch hier gibt es Token Betrieb nicht und die Menge des Fehlers durchgeführt werden kann, zeigt

ckeditor Datei :

$().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'); 
    }); 

das funktioniert nicht :(

+1

mit Haben Sie Formular für diesen Einsatz? – geckob

Antwort

2

Laravel 5 hat einen VerifyCSRF Token in der web Middleware. Im Grunde genommen wird ein Token injiziert, das später verifiziert wird, wenn der Benutzer das Formular übermittelt, um CSRF-Angriffe (Cross-Site Request Forgery) zu verhindern.

Sie können es in app/Http/Kernel.php deaktiviert, aber es wird nicht empfohlen.

Die anderen Optionen sind das Zeichen in dem Formular enthalten, um den Server zu senden, wenn Antrag gestellt wird.

Fügen Sie diese in Ihrem Formular.

{{ csrf_field() }} 

Es wird generiert den folgenden HTML-Chunks:

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

Siehe: Laravel docs auf diesem

+1

ich denke deaktiviert VerifyCSRF nicht gut ist es nicht – channasmcs

+1

@channasmcs: Yeah. Funktioniert es für dich? – geckob

+0

hey geckob ich habe das gleiche Problem mit Codignter & Laravel. normalerweise ist es passiert {!! Form :: token() !!} ist die Lösung für mich – channasmcs

0

ändern Sie elfinder Option für zusätzliche POST Senden von Daten zu "custom".

$().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'); 
     }); 

Ihre Option sind Daten, ändern Sie sie in customData. Auch senden Sie einfach csrf Tokenwert von csrf_token()