В настоящее время я пишу тест, чтобы гарантировать, что наша защита CSRF работает в Laravel. Тест выглядит следующим образом.Laravel PHPUnit всегда проходит CSRF
public function testSecurityIncorrectCSRF()
{
$this->visit('/login')
->type('REDACTED', 'email')
->type('123123', 'password');
session()->regenerateToken();
$this->press('login')
->seePageIs('/login');
}
Независимо от того, что я делаю, и даже если я пропущу неправильный _token, запрос на вход всегда будет успешным. Я пробовал за пределами теста PHPUnit, и там работает защита CSRF. Все мои посредники включены, поэтому защита CSRF должна быть включена.
Может кто-нибудь объяснить, почему это происходит?
Have вы изменили по умолчанию 'App \ Http \ kernel.php' файл и переместили' Интернета «промежуточное ПО где-то в другом месте? – Ohgodwhy
'защищен $ middlewareGroups = [ 'паутина' => [ \ Осветите \ Session \ Middleware \ StartSession :: класс, \ App \ Http \ Middleware \ VerifyCsrfToken :: класс, ]]' – Hedam
Это в основном оригинальные ядра , только с некоторыми дополнительными Middlewares – Hedam