Пост запрос на сайт Laravel 5.7, 5.8 фреймворк Laravel --- ошибка - 419 к сожалению, время вашей сессии истекло

Пост запрос на сайт Laravel 5.7, 5.8 фреймворк Laravel --- ошибка - 419 к сожалению, время вашей сессии истекло

01.10.2018 05:25:10 Просмотров 236 Источник

Я установил Laravel 5.7

Добавлена форма в файл \resources\views\welcome.blade.php

<form method="POST" action="/foo" >
    @csrf
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>
</form>

Добавлено в файл \routes\web.php

Route::post('/foo', function () {
    echo 1;
    return;
});

После отправки почтового запроса:

419 Извините, ваш сеанс истек. Пожалуйста, обновите и повторите попытку.

В версии 5.6такой проблемы не было.

У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has#comment93231906_52583886
Я скопировал ваш точный код в новую установку laravel 5.7. Это сработало. Есть проблема в другом месте.
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has#comment93331203_52583886
Я проверил ваш код и не нашел никаких проблем. Он не показал никакого предупреждающего сообщения и Эхо 1 точно. Я также использую laravel 5.7
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has#comment93432299_52583886
Поскольку автор ОП не позвонил и не сказал, что решило его проблему. Я вижу здесь много решений, которые не решили проблему, которую я имел. Я решил это по-другому, поэтому ни один ответ не является правильным, я думаю. Все они могут быть правильными в различных сценариях. Поэтому я держу свое щедрое предложение.
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has#comment93434030_52583886
Вы можете добавить ответ, который решил вашу проблему, если он не упоминается в каких-либо ответах здесь (потому что это не имеет смысла). И по вашему мнению, какой ответ вам понравился больше всего / больше подходит для будущих ОП, вы можете присудить награду. потому что вы не можете получить очки щедрости обратно ни при каких обстоятельствах

Ответы - Пост запрос на сайт Laravel 5.7, 5.8 фреймворк Laravel --- ошибка - 419 к сожалению, время вашей сессии истекло / Post request in Laravel 5.7, laravel 5.8 --- Error - 419 Sorry, your session has expired

David

10.10.2018 06:01:39

Это связано с тем, что форма требует csrf. В версии 5.7, они изменили его на @CSRF атак

<form action="" method="post">
    @csrf
    ...

Ссылками: https://laravel.com/docs/5.7/csrf

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/52731977#comment92389365_52731977
Его форма включает в себя CSRF-токен. Не уверен, редактировал ли он его позже или нет.
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/52731977#comment93262990_52731977
да, его форма изначально имеет поле csrf, я просто заглянул в историю редактирования
Splodge

14.10.2018 10:38:54

У меня просто была точно такая же проблема, и это было связано с тем, что я был совершенно глуп. Я отключил все поля формы (а не только кнопку отправки) с помощью javascript перед отправкой указанной формы! Это, конечно, привело к тому, что все элементы формы не были представлены (включая скрытое поле _token), что, в свою очередь, вызвало ошибку 419!

Я надеюсь, что это поможет кому-то из нескольких часов почесывания головы!

Отключенные входные данные формы не отображаются в запросе

Bonish Koirala

05.11.2018 03:05:11

Как насчет использования

{{ csrf_field() }} вместо @csrf

Ошибка 419 в основном из-за проблем с токенами csrf.

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53154073#comment93232135_53154073
Вы имеете в виду {{ csrf_field() }}?
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53154073#comment93233297_53154073
да спасибо за напоминание
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53154073#comment94110717_53154073
{{ csrf_field() }}работал на меня
Mathieu Ferre

06.11.2018 03:11:47

В вашем Http/Kernel.php

попробуйте прокомментировать эту строку :

\Illuminate\Session\Middleware\AuthenticateSession::class,

в вашем массиве веб-промежуточного программного обеспечения

это может быть корень вашей проблемы

Hamelraj

07.11.2018 06:48:53

<form method="POST" action="{{ url('foo') }}" >

or 
composer update or composer install

or 
in your Http/Kernel.php comment this line (not recommended)
// \App\Http\Middleware\VerifyCsrfToken::class,
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53183322#comment93258223_53183322
Маркеры CSRF-это функция безопасности. Отключение проверки может привести к исчезновению ошибки, но она оставляет уязвимость, не решая проблему или не помогая вам выяснить, что ее вызвало
jeremykenedy

09.11.2018 10:13:17

Это может быть излишним, но вы можете попробовать это:

// Форма вызова именованного маршрута со скрытым полем маркера добавлена.

<form method="POST" action="{{ route('foo') }}" >
    @csrf
    <input type="hidden" name="_token" value="{!! csrf_token() !!}">
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>
</form>

// Названный Маршрут

Route::post('/foo', function () {
    return 'bar';
})->name('foo');

// Добавить в <head></head> блок:

<meta name="_token" content="{!! csrf_token() !!}" />

Я тестировал его на своем локальном использовании Homestead на Laravel 5.7, который был свежей установкой с использованием Laravel Installer 2.0.1, и он работал. Каково ваше окружение?

Теория: интересно, имеет ли это какое-то отношение к блейд-рендерингу html-тегов с {{ }}vs{!! !!}на вашей среде или как вы ее обслуживаете (например. php artisan serve). Что заставляет меня думать, что это line 335из /vendor/laravel/framework/src/illuminate/Foundation/helpers.phpдолжен отображать одну и ту же строку, введенную вручную выше.

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53221280#comment93329497_53221280
<meta>в форме? Какая магия заключается в том, что.
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53221280#comment93329554_53221280
Да, круто, но <meta>должны быть размещены внутри <head>, а не внутри <body>. Я не уверен, что HTML-валидатор хотел бы этого.
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53221280#comment93329608_53221280
Я бы сказал, что вы правы, и это должно быть перенесено в голову.
Koen Hollander

09.11.2018 10:39:04

У меня также была такая проблема, и я обнаружил, что файлы сеанса были заблокированы для записи. Итак, я не знаю, используете ли вы свой Laravel через такие вещи, как vagrant или Docker, но я советую вам попытаться изменить права каталога сеансов (и файлов, конечно) (когда вы запускаете Laravel в виртуальной машине, вы должны изменить права локально и в виртуальной машине (например, когда Вы делитесь файлами через NFS)

Подобный этому:

chmod -R 777 storage/framework/sessions
chmod -R 777 storage/logs

Я знаю, разрешение 777-это худшая катастрофа, которую вы можете себе представить. Но они удобны для устранения неполадок.

Чтобы быть уверенным, что я никогда не забуду это, я сделал сценарий bash. (Назвал его lalog, просто потому, что я хотел очистить файлы журнала и установить разрешения)

Примечание: убедитесь,что вы используете это в каталоге сеанса. В конфигурации/сессии.php есть files

Расположение: /usr / bin/lalog (это файл, а не каталог)
Выполнить в оболочке, как <?php //........... 'files' => storage_path('framework/sessions'), //...........

lalog

Внимание! Это позволит писать доступ для всех, так что будьте осторожны с ним! Также, возможно, в файле журнала Laravel есть полезная информация. (обязательно загляните в этот файл журнала перед запуском моего сценария bash)

Кроме того, я знаю, что это уже упоминалось. Но, будьте полностью уверены, что вы всегда

  1. Разрешить cookies в браузере, чтобы маркер можно было установить в cookies
  2. Проверьте, используете ли вы #!/bin/bash rm -rf /home/username/Projects/x/storage/logs/laravel.log echo "Laravel log removed" touch /home/username/Projects/x/storage/logs/laravel.log echo "Laravel log created" chmod -R 777 /home/username/Projects/x/storage/ echo "CHMOD 777 on Storage dir" в файле Блейда

Форма должна быть примерно такой

@csrf
Jamie Ross

09.11.2018 05:58:50

Вы не можете сделать пустой возврат на Laravel 5.6 или выше. Laravel всегда ожидает, что значение будет возвращено. (Я знаю из прошлого опыта). Это в основном связано с тем, как PHP 7 обрабатывает пустые возвраты.

Istiyak Amin

10.11.2018 04:41:45

Вы неправильно добавили поле CSRF. Вместо @csrfвы должны использовать csrf_field()вот так:

<form method="POST" action="/foo" >
    {{ csrf_field() }}
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>
</form>
engrhussainahmad

11.11.2018 03:34:13

В коде нет никаких проблем. Я проверил с тем же кодом, что вы написали с новой установкой.

код формы:

<form method="POST" action="/foo" >
    @csrf
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>
</form>

web.phpкод файла:

Route::get('/', function () {
    return view('welcome');
});

Route::post('/foo', function () {
    echo 1;
    return;
});

Результат после отправки формы: Output after submitting the form

Если вы очистите кэш браузера или попробуете с другим браузером, я думаю, что это будет исправлено.

Qasim Ali

11.11.2018 04:33:48

Быстрый плохой подход заключается в том, что перейдите в app\http\middleware\verifycsrftoken.php и добавьте маршрут в список $except. Запрос post будет игнорироваться для проверки токена CSRF.

protected $except = [
    //
    'doLogin.aspx',
    'create_coupon',
];
Zia

11.11.2018 08:25:49

На самом деле SCRF-это токен на основе сеанса. Добавьте свой маршрут в группу маршрутов и добавьте промежуточное программное обеспечение, которое управляет сеансами.

web-это промежуточное программное обеспечение по умолчанию в laravel, и оно может управлять запросами сеанса.

Route::group(array('middleware' => ['web']), function () {
  Route::post('/foo', function () {
     echo 1;
     return;
  });
});
Shobi

11.11.2018 11:59:34

Перед чтением ниже убедитесь, что у вас есть @csrfили {{ csrf_field() }}в вашей форме любить

<form method="post">
@csrf <!-- {{ csrf_field() }} -->
... rest of form ...
</form>

Сообщение об ошибке сеанса истекло, потому что где-то ваша проверка токена csrf терпит неудачу, что означаетApp\Http\Middleware\VerifyCsrfToken::classmiddleware уже включено. В форме @csrfblade, которая также должна быть прекрасной.

Тогда другая область для проверки-это сессия. csrfфайл env, поддерживаемые драйверы приведены ниже

Поддерживаемые драйверы сеансов в Laravel 5.7 (Doc Link)

  • .envсессии хранятся в хранилище / framework / sessions.
  • file-сессии хранятся в защищенных, зашифрованных файлах cookie.
  • cookieданных-сеансы хранятся в реляционной базе данных.
  • database/ memcached- сессии хранятся в одном из этих быстрых хранилищ на основе кэша.
  • redis-сессии хранятся в массиве PHP и не будут сохраняться.

Если ваша форма работает после переключения драйвера сеанса, то что-то не так с этим конкретным драйвером, попробуйте исправить ошибку оттуда.

Возможные сценарии возникновения ошибок

  • Вероятно, сеансы на основе файлов могут не работать из-за проблем с разрешениями array(быстрый поиск в Google принесет вам решение)

  • В случае драйвера базы данных ваше соединение с БД может быть неправильным, или таблица /storageможет не существовать или неправильно настроена (неправильная часть конфигурации была подтверждена как проблема в соответствии с комментарием @Junaid Qadir).

  • sessionsневерна или одновременно управляется каким-либо другим фрагментом кода в системе.

Это может быть хорошей идеей для выполнения redis/memcachedи генерировать новый ключ приложения, который, в свою очередь, будет очищать данные сеанса.

Очистить кэш браузера трудно, я обнаружил, что chrome и firefox являются виновником больше, чем я могу вспомнить.

Подробнее о том, почему важны ключи приложений

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53253184#comment94203172_53253184
Иногда просто браузеры, в основном Chrome, не будут устанавливать значение сеанса Set-Cookie, потому что оно искажено или нестандартно. Таким образом, Laravel не найдет никакого существующего значения сеанса из HTTP-запроса для сравнения с полученным _tokenс IP, который Chrome и HTTP Cookie Specs считают небезопасным.
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53253184#comment94209515_53253184
Да, нашел хром в качестве виновника много раз.
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53253184#comment99004271_53253184
выполнение команды сработало для меня
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53253184#comment102206760_53253184
У меня такая же проблема, но я не получаю ошибку постоянно. Это просто происходит время от времени. Я думаю, это означает, что нет никаких проблем с драйвером сеанса, потому что он работает в 99% случаев. Но я запускаю живое приложение, и я получаю жалобы от клиентов время от времени. Это очень редко, хотя. Я использую драйвер сеанса file. Кто-нибудь знает, почему это происходит в моем случае? Спасибо
Anar Bayramov

12.11.2018 11:58:07

По умолчанию у меня не было этой проблемы. Так что я сделал это chmod -R 644 sessions чтобы воспроизвести проблему.

enter image description here

Впоследствии я дал разрешения на папку сеансов chmod -R 755 sessions

теперь мой код проекта снова работает.

enter image description here

Причина этого заключается в том, что вы храните свой кэш в файле с отсутствием записи разрешения.

Файл конфигурации сеанса хранится в config / session.РНР. Быть обязательно просмотрите параметры, доступные в этом файле. По умолчанию, Laravel настроен на использование драйвера сеанса file, который будет работать хорошо для многих применений. В производственных приложениях вы можете рассмотрите возможность использования драйверов memcached или redis для еще более быстрого сеанса спектакль.

Решения:

1-Как я установил выше, вы можете дать 755 разрешение на папку сеансов. 2-Вы можете использовать другую конфигурацию драйвера сеанса.

файловые сессии хранятся в хранилище / framework / sessions. печенье - сеансы хранятся в защищенных, зашифрованных файлах cookie. база данных-сессии хранятся в реляционной базе данных. memcached / redis-сессии являются хранится в одном из этих быстрых хранилищ на основе кэша. массив-сессии являются хранится в массиве PHP и не будет сохраняться.

Имейте в виду; если вы хотите использовать memcached/redis, вам нужно установить их на свой сервер или ваш контейнер Docker redis должен быть запущен.

lionshell

29.11.2018 08:52:05

У меня была аналогичная проблема, и я нашел решение для этого

если вы эхо или распечатать что-то из контроллера, а вернуться к просмотру эта проблема появится.

поэтому убедитесь, что вы не используете Echo или Print, когда ваш контроллер возвращает

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53532667#comment94429641_53532667
Это на самом деле ничего не добавляет к существующим ответам.
Prasna Lukito

03.12.2018 07:10:27

Попробуйте закомментировать \App\Http\Middleware\EncryptCookies::class В \app\Http\Kernel.php У меня есть аналогичная проблема, и я решил ее, сделав это. Вероятно, не лучшее решение, потому что безопасность, но по крайней мере это сработало.

Раньше я пробовал:

  • Очистить кэш
  • Создать новый ключ приложения
  • Запустите мое приложение в различных браузерах (Chrome 70, Mozilla Firefox 57 и IE 11)
  • Запустите мое приложение на другом компьютере
  • Комментарий \App\Http\Middleware\VerifyCsrfToken::class В \app\Http\Kernel.php
  • Комментарий \Illuminate\Session\Middleware\AuthenticateSession::class В \app\Http\Kernel.php
  • Обновление и понижение Laravel (между 5.6 и 5.7)

Но ничего из вышеперечисленного не сработало для меня.

РЕДАКТИРОВАТЬ

Мой случай здесь каждый раз, когда я вхожу в систему, будет создан новый файл сеанса (старый все еще сохраняется, но внезапно забывается. Проверьте storage/framework/sessions) и генерируется новый токен CSRF. Так что проблема не в VerifyCsrfToken.

Как упоминалось в разделе комментариев @Vladd, вы никогда не должны комментировать \App\Http\Middleware\VerifyCsrfToken::class. Вы должны проверить, что вы отправили правильный токен CSRF на сервер.

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53587356#comment96397922_53587356
Среди этих способов вы упомянули, только закомментировав \приложения\НТТР\промежуточного\VerifyCsrfToken::класс В \приложения\НТТР\ядра.php работал на меня.
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53587356#comment97626217_53587356
Очистить кэш, создать новый ключ приложения + удалить куки
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53587356#comment99150602_53587356
Вы никогда не должны c0mmenting out \App\Http\Middleware\VerifyCsrfToken:: class. Зачем тебе это делать? Чтобы создать свою собственную слабую точку в приложении?
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/53587356#comment100296506_53587356
@dobs Спасибо за добавление "+ удалить куки", потому что я получал ошибку 419 даже после того, как сделал все возможное, и это сработало только тогда, когда я очистил куки браузера / попробовал в инкогнито.
Kees Hessels

07.12.2018 08:21:16

Просто чтобы поставить его там, у меня были те же проблемы. На моей локальной усадьбе он будет работать так, как ожидалось, но после нажатия его на сервер разработки я также получил сообщение о таймауте сеанса. Выяснив, что это проблема среды, я перешел с apache на nginx, и это чудесным образом заставило проблему уйти.

Karim Samir

14.12.2018 05:31:55

Я использую Laravel 5.7 У меня была та же проблема, и это было потому, что токен csrf не был в форме, поэтому добавление

@csrf

устранить проблему

Saurabh Mistry

06.02.2019 11:14:50

случай 1: Если вы запускаете проект в локальной системе, например 127.0.01: 8000 ,

затем

добавьте SESSION_DOMAIN=в свой .env файл

или в вашей конфигурации / сессии.РНР 'domain' => env('SESSION_DOMAIN', ''),

а затем запустите php artisan cache:clear

случай 2: если проект работает на сервере, и у вас есть домен, как "mydomain.com"

добавить SESSION_DOMAIN=mydomain.com в вашем .env файл

или в вашей конфигурации / сессии.РНР 'domain' => env('SESSION_DOMAIN', 'mydomain.com'),

а затем запустите php artisan cache:clear

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/54561833#comment103388677_54561833
случай 1 отлично работает для laravel 5.8
Aghnat Atqiya

16.02.2019 12:47:36

измените свой @csrfв приветствии.лезвие.php to <input type="hidden" name="_token" value="{{ csrf_token() }}">

так что ваш код, как это:

<form method="POST" action="/foo" >
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <input type="text" name="name"/><br/>
    <input type="submit" value="Add"/>

   <button type="submit">Submit</button>
</form>
Leo Nguyen

28.03.2019 04:59:54

Я получил эту проблему давно. Я вспомнил, что это вызывает разрешение storage/framework/sessions. Вы можете изменить его с помощью chmod -R 0777 storage/framework/sessions. Это сработало для меня.

Danilo

19.05.2019 01:22:13

Просто изменить. ОКР SESSION_DRIVER=печенье

ismail bangee

20.05.2019 10:52:59

После стольких лет я решил это таким образом

Мой путь установки laravel не совпадал с заданным в сеансе файла конфигурации.РНР

'domain' => env('SESSION_DOMAIN', 'example.com'),
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/56227338#comment101554637_56227338
Работать на меня. Спасибо.
lyhong

28.06.2019 07:42:46

В моем случае это очень смешно. Я получаю ошибку 419, когда я помещаю Auth::routes()в верхней части файла маршрута.

Auth::routes();

Route::middleware('auth')->group(function () {
    Route::get('/', 'DashboardController@index')->name('dashboard');
});

И я исправил ошибку, переместив Auth::routes();в нижнюю часть файла маршрута.

Route::middleware('auth')->group(function () {
    Route::get('/', 'DashboardController@index')->name('dashboard');
});

Auth::routes();

Может быть, это поможет и вашему делу. Удачи.

Faraz salehi

06.08.2019 07:06:58

использовать

{{@csrf_field()}}

вместо этого

@csrf

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/57380064#comment102441800_57380064
@csrf-допустимый синтаксис
Kiafar

13.08.2019 02:43:21

Обратите внимание, что вы получаете ошибку 419, если вы пытаетесь загрузить большой файл, который превышает ограничение размера файла post. В этом случае вы можете увеличить как upload_max_filesize, так и post_max_size до разумной величины (например, 10M или 20M зависит от вашего варианта использования и ресурсов), проверьте здесь: https://stackoverflow.com/a/2184541/2100489

Но это может вызвать проблемы с потреблением ресурсов, например пропускной способностью и хранилищем. В качестве решения вы можете проверить размер файла перед отправкой формы и показать предупреждающее сообщение.

Flutterer

15.09.2019 03:06:39

419 / page эта ошибка означает, что проблема безопасности laravel означает, что поле токена csrf используется неправильно . используйте {{csrf_field}} и ваш вопрос будет решен .

samair ali

01.10.2019 10:19:58

добавить CSRF токен и ваша проблема будет решена . {{csrf_token}} или @CSRF атак

Bram Janssen

11.10.2019 08:11:37

Это может быть проблема с вашим сеансом. После игры с этими настройками я решил свою проблему. Для меня это оказалось последним вариантом.

  • Если вы используете" файл " в качестве драйвера сеанса посмотрите хранение / структура / сеансы, если сеансы сохраняются после обновить. Если нет, то это, скорее всего, из-за неправильной папки разрешения. Убедитесь, что ваше хранилище/ папка имеют правильное право
  • Попробуйте отключить все JavaScript на ваших страницах (либо отключение это через навигатор или внутри кода) и убедитесь, что 'http_only' => истинный,
  • Попробуйте использовать С и без HTTPS
  • Убедитесь, что переменная SESSION_DRIVER не имеет значения null
  • Попробуйте переключаться между 'зашифровать' => false и 'шифровать' => правда,
  • Попробуйте изменить имя файла cookie 'cookie' = > 'laravelsession',
  • Попробуйте либо установить SESSION_DOMAIN для вашего фактического домена, либо null
  • Попробуйте переключиться между 'secure' = > env ('SESSION_SECURE_COOKIE', false), и 'secure' = > env ('SESSION_SECURE_COOKIE', true),

Источник: сеанс Laravel всегда изменяет каждое обновление / запрос в Laravel 5.4

https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/58334596#comment103660565_58334596
Да, после попытки многих других вещей, SESSION_SECURE_COOKIE) сделал это для меня. (на false)
https://stackoverflow.com/questions/52583886/post-request-in-laravel-5-7-laravel-5-8-error-419-sorry-your-session-has/58334596#comment103692500_58334596
SESSION_SECURE_COOKIE также была проблемой для меня, я изменил ее, следуя руководству по оптимизации веб-сайта.
Ahmad Yousef

03.11.2019 04:17:21

Я просто хочу сказать, убедитесь, что токен csrf генерируется, иногда это просто пустой массив, например, в форме повторителя, если вы не генерируете внутри запроса js.

Towelie

16.11.2019 02:03:39

Если у вас уже есть директива csrf, возможно, вы изменили способ выполнения сеансов.

В конфигурации/сессии.php, проверьте поле "безопасный". Он должен быть на false, если https не доступен на вашем сервере.

Вы также можете поставить SESSION_SECURE_COOKIE=FALSE на вашем .env-файл (корневой каталог).

Закрыть X