【发布时间】: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 是的,因此验证是必要的,以确保用户只处理他的资源。