【问题标题】:How to save each foreach data in session in laravel 6?如何在 laravel 6 的会话中保存每个 foreach 数据?
【发布时间】:2023-03-11 07:00:02
【问题描述】:

目前,当我想从数据库中删除某人时,他们的信息存储在一个隐藏的输入字段中,这是不安全的。

@foreach($registered as $register)
    <tr>
        <td>{{$register->name}}</td>
        <td>{{$register->number}}</td>
        <td>{{$register->address}}</td>
        <td>{{$register->age}}</td>
        <td>{{$register->accountId}}</td>
        <td>
        <form action="removeFromRegister" method="post">
            @csrf
            @method('delete')
            <input type="hidden" name="id" value="{{$register->id}}">
            <input type="submit" value="Verwijder" class="btn btn-danger">
        </td>
    </tr>
@endforeach

有没有更好的方法从每个 foreach 循环中获取数据以发送到 laravel 6 中的控制器?

【问题讨论】:

  • 为什么不安全?
  • @apokryfos 有人可以检查 ID 并将其更改为新猜测的 ID,但他们无权使用其他人的数据。当然,对此进行服务器验证应该会很好。
  • @vivek_23 但是输入表单中的任何数据不是这样吗?
  • 你需要authorise控制器上的请求。客户端技巧还不够好
  • @RiggsFolly 是的,因此验证是必要的,以确保用户只处理他的资源。

标签: php laravel


【解决方案1】:

你的方法完全没问题。但是您需要添加服务器端代码来检查用户是否只修改了他有权访问的数据。查看 this portion of Laravel docs 了解如何授权 Laravel 方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2022-09-23
    • 2022-11-28
    • 1970-01-01
    • 2016-08-22
    • 2016-10-02
    • 2021-06-28
    相关资源
    最近更新 更多