【问题标题】:Laravel token confirmationLaravel 代币确认
【发布时间】:2015-11-02 08:08:36
【问题描述】:

我有一个基本问题。

Laravel 令牌可用于密码重置。

就我而言,我想将它用于用户发送的更改请求(通过自定义更改表单),该请求将被管理员接受/拒绝。令牌可以这样使用吗?

查看:

<form action="{{ action('myController@changeResult') }}" method="POST">
   <input type="hidden" name="token" value="{{ $token }}">
   <input type="radio" name="accept" value="accept">
   <input type="label">Accept</label>
   <input type="radio" name="refuse" value="refuse">
   <input type="label">Refuse</label>
   <input type="submit" value="Reset Password">
</form>

然后将值发布到 myController 控制器的 changeResult 方法中。

提前致谢。

【问题讨论】:

  • 我对你的问题有些困惑。因为据我所见,您使用的 CSRF 令牌对每个用户和表单请求都是唯一的。只要您的路线有CheckCsrfToken 或其他任何名称,它就会一直通过。那么你想达到什么目的/问题是什么?
  • @Ash 假设我们有一个网络表单项目。用户填写表格,然后提交。然后管理员会收到一封电子邮件,用于批准用户填写的表单上的更改。我想以安全的方式开发它,所以询问是否适合使用令牌或类似的东西。

标签: php laravel token


【解决方案1】:

CSRF 令牌用于验证当前的表单提交。一旦用户单击“重置密码”按钮,则验证令牌并接受/拒绝表单。如果您想为管理员重新打开提交的表单,那么重新打开的表单将使用新令牌来提交该表单,因此使用旧令牌来验证发送给管理员的请求是没有用的。

相反,您可以生成一些特定于每个用户请求的随机密钥,并将其存储到数据库或文件中。稍后此密钥可用于验证请求。

【讨论】:

  • 这就是我想要的答案。因此令牌不能用于用户请求。我必须为每个用户请求生成随机密钥。谢谢。
猜你喜欢
  • 2021-10-01
  • 2020-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
  • 2021-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多