Исключение защиты Laravel CSRF теперь работает

Мой проект Laravel находится по этой ссылке

http://localhost/demo/public // laravel project

и у меня есть эта внешняя HTML-форма

http://localhost/attendance

Теперь я хочу отправить данные из формы в Laravel, но получил эту ошибку

419 Страница истекла

поэтому в моем проекте Laravel VerifyCsrfToken Class я написал это

class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'http://localhost/attendance'
    ];
}

но все равно получил ту же ошибку

419 Страница истекла


person softya    schedule 19.06.2019    source источник


Ответы (2)


Laravel решает для вас baseUrl вашего приложения, нет необходимости указывать полный путь, в вашем случае промежуточное ПО должно быть таким, как показано ниже:

class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        'attendance/*'
    ];
}
person Thamer    schedule 19.06.2019
comment
сделал это, теперь работают те же файлы посещаемости, не связанные с демонстрационными файлами - person softya; 19.06.2019
comment
вы хотите ожидать csrf_token от всех URL-адресов проекта, или только от посещаемости, или от подссылок посещаемости? - person Thamer; 19.06.2019
comment
просто из подссылок посещаемости - person softya; 19.06.2019
comment
если в вашем приложении есть подссылки на группы посещаемости, проверьте мой ответ редактирования, пожалуйста - person Thamer; 19.06.2019
comment
нет посещаемости - это другое приложение и его не подссылка с приложением - person softya; 19.06.2019
comment
Позвольте нам продолжить это обсуждение в чате. - person Thamer; 19.06.2019

  • Одним из решений было бы отправить данные как запрос GET вместо запроса POST.

  • Как только вы разместите свою работу в Интернете, вы столкнетесь с межсайтовой защитой в браузере.

  • URI, который должен быть исключен, - это тот, кто получил запрос, поэтому http://localhost/demo/public

person N69S    schedule 19.06.2019
comment
иногда данных больше 1000, так что он откроет 1000 браузеров, и я не хочу так работать, я пробовал это раньше - person softya; 19.06.2019