TokenMismatchException в строке 53 VerifyCsrfToken.php: (браузер Firefox) в laravel 5.1?

Я пытаюсь выяснить, почему эта ошибка, хотя ее новая установка. Я получил эту ошибку в моем проекте, поэтому я погуглил, ни один из ответов не сработал для меня. поэтому я создал новый проект и скопировал весь контроллер, представление и модель. работал нормально через несколько часов еще раз ошибка несоответствия токена. почему это происходит в laravel?

моя форма

<form class="form-horizontal action="http://localhost/laravel/public/add-post-new"  enctype="multipart/form-data" method="POST" accept-charset="UTF-8" >
        <div class="form-group">
            <label for="inputEmail" class="control-label col-xs-2">Title</label>
            <div class="col-xs-10">
                <input type="text" class="form-control" id="post_title" placeholder="Title" name="post_title">
            </div>
        </div>

        <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Content</label>
            <div class="col-xs-10"><textarea class="form-control" style="resize:none" rows="25" name="post_content"></textarea>
            </div>
        </div>
         <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Featured Image</label>
            <div class="col-xs-10"><input type="file" class="filestyle" data-buttonText="Find" name="featured_image">
            </div>
        </div>
     <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Post Images</label>
            <div class="col-xs-10"><input type="file" class="filestyle"  name="post_gallery[]" multiple />
            </div>
        </div>  

     <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Select Category</label>
            <div class="col-xs-10" >
            <select  class="form-control" name="cat_id">
                <?php $data=Category::all(); ?>
            <option value="0">Default Category</option>
            @foreach($data as $value)
                 <option value="{{$value->id}}">{{$value->cat_name}}</option>
              @endforeach 
        </select>

            </div>
        </div>      
 <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Publish Post</label>
            <div class="col-xs-10">
           <label class="radio-inline">
  <input type="radio" name="published" id="inlineRadio1" value="1"> Publish 
</label><br>
<label class="radio-inline">
  <input type="radio" name="published" id="inlineRadio2" value="2"> UnPublish
</label><br>
<label class="radio-inline">
  <input type="radio" name="published" id="inlineRadio2" value="3"> Draft
</label><br><br>

            </div>
        </div>      
 <div class="form-group">
            <label for="inputPassword" class="control-label col-xs-2">Slider Post</label>
            <div class="col-xs-10">
           <label class="radio-inline">
  <input type="radio" name="slider_post" id="inlineRadio1" value="1"> Slider Post 
</label><br>
<label class="radio-inline">
  <input type="radio" name="slider_post" id="inlineRadio2" value="2"> Not required
</label><br><br>


            </div>
        </div>  
        <div class="form-group">
            <div class="col-xs-offset-2 col-xs-10">
                <input name="_token" type="hidden" value="{{ csrf_token() }}"/>

                <button type="submit" class="btn btn-primary">Submit Post</button>
            </div>
        </div>

прежде чем задать вопрос, я прочитал много руководств

Laravel 5, Forms, TokenMismatchException в строке 46 VerifyCsrfToken.php

Laravel 5 Auth Post Submit - TokenMismatchException в строке VerifyCsrfToken.php 46

TokenMismatchException в VerifyCsrfToken.php, строка 53 в Laravel 5.1

TokenMismatchException в строке 46 VerifyCsrfToken.php

Laravel 5, ajax, 500 Внутренняя ошибка сервера, TokenMismatchException в VerifyCsrfToken.php, строка 46:

Laravel 5 TokenMismatchException в строке 46 VerifyCsrfToken.php

Обнаружение исключения TokenMismatchException в ошибке VerifyCsrfToken.php

Laravel TokenMismatchException

http://laravel.io/forum/01-30-2015-laravel5-tokenmismatchexception-in-verifycsrftoken

TokenMismatchException при загрузке видео?

обновлено:  введите здесь описание изображения


person scott    schedule 14.08.2015    source источник
comment
Думаю, проблема может быть в действии формы. Попробуйте изменить его на {{ url('add-post-new') }} или что-то подобное вместо http://localhost/laravel/public/add-post-new.   -  person John Bupit    schedule 14.08.2015
comment
@ JohnBupit.i попытался не работать.   -  person scott    schedule 14.08.2015
comment
У вас также, похоже, нет <input name="_token" ... > в форме. Я уверен, что это объяснено в одном из руководств, которые вы читали.   -  person John Bupit    schedule 14.08.2015
comment
@ JohnBupit.i также попробовал токен шаблона лезвия, который также не работает   -  person scott    schedule 14.08.2015
comment
Можете ли вы опубликовать то, что вы пробовали, и ошибку, которую вы получаете при попытке?   -  person John Bupit    schedule 14.08.2015
comment
@JohnBupit. в вопросе alreadt включил мою форму шаблона лезвия, и вместо этого токена я добавил много ответов пользователя stackoverflow, но каждый раз при запуске я получаю ту же ошибку несоответствия токена   -  person scott    schedule 14.08.2015
comment
У меня такая же ошибка сегодня, она отлично работает в моем окружении разработки, но когда я нажимаю ее на промежуточный сервер, она выдает мне эту ошибку, я регенерирую ключ из мастера и удаляю все файлы в папке сеансов в хранилище без везения! ! это сводит меня с ума. Я использую фасад From ::, чтобы скрытый ввод токена был там.   -  person Iliyass Hamza    schedule 14.08.2015
comment
@tester Вы когда-нибудь находили вескую причину и решение этой проблемы?   -  person stephen    schedule 29.10.2015


Ответы (4)


Это может кому-то помочь. Проверьте свои php-файлы, которые не начинаются с пустой строки или пробела! Это стоило мне больших хлопот. В том числе и выше!

person fireball70    schedule 21.08.2015
comment
Спасибо. У меня была такая же проблема, и она была вызвана пустым пространством перед открывающим тегом ‹? Php файла routes.php. - person Daniel Kratohvil; 28.11.2015
comment
О Господи. Я гуглил около 1 часа, и ЭТО была ошибка! Глупое место в routes.php. Я сходил с ума здесь. Большое спасибо. - person Myone; 12.02.2016

попробуйте добавить эту строку после открытия формы

<input type="hidden" name="_token" value="{{ csrf_token()}}"/>
person Sid    schedule 14.08.2015
comment
‹Тип ввода = скрытое имя = значение _token = {{csrf_token ()}} /› - person Sid; 14.08.2015
comment
За исключением исключения tokenmismatch, все ли работает нормально? и есть ли какая-то особая причина, по которой вы предоставляете такое действие формы вместо использования правила действия по умолчанию laravel? что, если вы просто выполните действие / add-post-new в форме? к чему это приводит? - person Sid; 14.08.2015
comment
.working. выглядит глупой ошибкой, но для меня это заняло много времени. Спасибо. Есть ли для этого какая-то причина? - person scott; 14.08.2015
comment
Ну, я уже сталкивался с той же проблемой раньше, и мне потребовалась неделя, чтобы решить ее. если и только если мой ответ тебе поможет, помоги мне, пометив его как правильный :) - person Sid; 14.08.2015
comment
Давайте продолжим это обсуждение в чате. - person Sid; 14.08.2015

Вдруг я получаю это исключение.

Тогда перезапуск и очистка кеша у меня работают.

Чтобы очистить кеш, используйте: php artisan cache:clear

person Md Sirajus Salayhin    schedule 17.08.2015
comment
Я просто боролся с этой проблемой, и это предложение решило проблему для меня. Мне потребовался час, чтобы найти это, поэтому я очень благодарен. - person Michael; 20.08.2015

У меня возникла эта болезненная ошибка, и я сделал следующее, чтобы исправить ее: 1. Перейдите к \Http\Controllers\Middleware\VerifyCsrfToken.php 2. В protected $except добавьте свой маршрут, который будет исключен из этой проверки. Пример:

protected $except = [
        'user*'
    ];
  1. И если вы все еще получаете эту ошибку, добавьте эту функцию ниже защищенного $ except

    public function handle($request, Closure $next) {
    
    $regex = '#' . implode('|', $this->except) . '#';
    
    if ($this->isReading($request) || $this->tokensMatch($request) || preg_match($regex, $request->path())) {
        return $this->addCookieToResponse($request, $next($request));
    }
    
    throw new TokenMismatchException;
    

    }

И я думаю, что это все. Надеюсь кому-нибудь помочь.

person meluluji    schedule 03.05.2016
comment
Это не лучший способ исправить это, на самом деле это вообще не исправление. Ошибка не должна появляться, но это просто способ сказать «Эй, давай вообще не проверяем нашу форму». - person killstreet; 31.05.2016