通过 href get Route 方法发送数据
Sending data via href get Route Methode
我构建了 get Methode 路由以通过控制器将数据存储在 mysql 数据库中。
这里可以看到我的部分观点
@foreach($groupsrequest as $grouprequest)
<a class="btn btn-primary btn-block" href="{{ route('mgmtgroups_approvel', ['idgroup' => $grouprequest->idgroup, 'iduser' => $grouprequest->iduser]) }}">
Gruppe <strong>{{$grouprequest->group_name}}</strong> Anfrage von User <strong>{{$grouprequest->username}}</strong>
</a>
@endforeach
这是我的网络路由文件,它将数据传递到控制器,数据将在控制器中存储到 mysql 数据库中。
Route::get('/home/groupmgmt/approvel', 'GroupController@setGroupApprovel')->name('mgmtgroups_approvel');
现在我的问题是,在我点击 href 按钮后,我得到以下内容 url
http://localhost:8000/home/groupmgmt/approvel?idgroup=18445&iduser=123
我可以更改 url 参数并按回车键,然后数据将被存储。但这不可能是正确的,因为我能够在数据库中存储假数据。例如,我可以创建不存在的用户标识。如何以正确的方式做到这一点,这是不可能的,只有之前视图中显示的数据才能存储在数据库中?
您可以使用 exists 验证类型 laravel 来验证用户 ID 是否存在。
顺便说一句,如果ID是登录用户的ID那么你不需要通过查询参数传递它,你可以使用laravel的Auth::id()
函数来获取它。
此外,我建议您使用 POST 方法代替 GET 方法,并在请求中添加 csrf 令牌以提高安全性。您还应该验证请求以确保没有人可以将无效数据插入数据库。例如,如果这是一个注册批准脚本,您应该确保要求给定的 ID 用于在组中注册,否则您应该向用户显示错误。
我构建了 get Methode 路由以通过控制器将数据存储在 mysql 数据库中。 这里可以看到我的部分观点
@foreach($groupsrequest as $grouprequest)
<a class="btn btn-primary btn-block" href="{{ route('mgmtgroups_approvel', ['idgroup' => $grouprequest->idgroup, 'iduser' => $grouprequest->iduser]) }}">
Gruppe <strong>{{$grouprequest->group_name}}</strong> Anfrage von User <strong>{{$grouprequest->username}}</strong>
</a>
@endforeach
这是我的网络路由文件,它将数据传递到控制器,数据将在控制器中存储到 mysql 数据库中。
Route::get('/home/groupmgmt/approvel', 'GroupController@setGroupApprovel')->name('mgmtgroups_approvel');
现在我的问题是,在我点击 href 按钮后,我得到以下内容 url
http://localhost:8000/home/groupmgmt/approvel?idgroup=18445&iduser=123
我可以更改 url 参数并按回车键,然后数据将被存储。但这不可能是正确的,因为我能够在数据库中存储假数据。例如,我可以创建不存在的用户标识。如何以正确的方式做到这一点,这是不可能的,只有之前视图中显示的数据才能存储在数据库中?
您可以使用 exists 验证类型 laravel 来验证用户 ID 是否存在。
顺便说一句,如果ID是登录用户的ID那么你不需要通过查询参数传递它,你可以使用laravel的Auth::id()
函数来获取它。
此外,我建议您使用 POST 方法代替 GET 方法,并在请求中添加 csrf 令牌以提高安全性。您还应该验证请求以确保没有人可以将无效数据插入数据库。例如,如果这是一个注册批准脚本,您应该确保要求给定的 ID 用于在组中注册,否则您应该向用户显示错误。