Я создаю веб-приложение, используя Laravel 5.6 и ReactJS 16.4.1.
Я установил csrf_token на master.blade.php
на <head>
следующим образом:
<meta name="csrf-token" content="{{csrf_token()}}">
Затем на мои реакции я загрузил свой регистрационный компонент примерно так:
export default class RegistrationForm extends Component {
render() {
return (
<React.Fragment>
<form method="post" action={this.props.actionUrl}>
<div className="form-group">
<label htmlFor="txtEmail">Email</label>
<input type="email" name="txtEmail" id="txtEmail" className="form-control" placeholder="Email" />
</div>
<div className="form-group">
<label htmlFor="exampleInputPassword1">Password</label>
<input type="password" name="txtPassword" id="txtPassword" className="form-control" placeholder="Password" />
</div>
<div className="text-right">
<button type="submit" name="btnRegister" id="btnRegister" className="btn btn-primary">Register</button>
</div>
</form>
</React.Fragment>
);
}
}
Затем, когда я нажимаю кнопку регистрации, меня перенаправляют на страницу The page has expired due to inactivity. Please refresh and try again.
.
Я не уверен, почему это все еще происходит, даже если у меня уже есть мета csrf-токена.
Я уже пробовал это , но все равно не работает.
Но когда я удаляю VerifyCsrfToken
на Kernel.php
, это работает.
\App\Http\Modules\Common\Middleware\VerifyCsrfToken::class
Безопасно ли удалять этот класс? Хотя я все еще хочу проверить csrf, почему я не хочу просто удалить его из промежуточного программного обеспечения.