好吧,这很初学者,但我想要一个解释。在下面的“postReset”方法中的内置 Laravel 密码重置中,它指定了“token”...但是,当使用 {!! csrf_field() !!} 在视图中,它生成为输入 name="_token"。匹配名称时 _ 算作实际字符吗?只是混淆了数据库迁移如何使用“token”,但 csrf 字段将输入名称设置为“_token”。
public function postReset(Request $request)
{
$this->validate($request, [
'token' => 'required',
'email' => 'required|email',
'password' => 'required|confirmed|min:6',
]);
$credentials = $request->only(
'email', 'password', 'password_confirmation', 'token'
);
$response = Password::reset($credentials, function ($user, $password) {
$this->resetPassword($user, $password);
});
Run Code Online (Sandbox Code Playgroud)
谢谢,
您不需要_token
密码重置或迁移。但如果您要在 post 方法中向 laravel 发送任何输入,则绝对需要它。
Laravel 可以轻松保护您的应用程序免受跨站点请求伪造(CSRF)攻击。跨站点请求伪造是一种恶意利用,代表经过身份验证的用户执行未经授权的命令。
如何在我的表单中包含 csrf 令牌?
您可以将 csrf 令牌包含在表单中
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
Run Code Online (Sandbox Code Playgroud)
提示 :
您可以在里面处理CSRF Token过滤器之后的操作
app\Http\Middleware\VerifyCsrfToken.php
Run Code Online (Sandbox Code Playgroud)
希望这对您有帮助。
归档时间: |
|
查看次数: |
5737 次 |
最近记录: |