【发布时间】:2017-04-14 20:47:47
【问题描述】:
我是 Laravel 的新手,正在为多个用户构建一个网站,该网站在其中一个页面上列出了与登录用户相关的项目,允许用户单击一个项目,然后在下一页上查看或编辑细节。非常简单的概念,但我想知道 Laravel 何时提供详细信息页面,如何简单安全地知道单击了哪个项目并显示正确项目的详细信息。
解决这个问题的明显方法是在详细信息页面的 URL 中指定项目的主键 ID - 即为第一页列表中的每个项目,然后指定使用它返回正确的路由项目:
Route::get('/itemdetails/{ID}', 'MyController@showitemdetailspage');
那么显然是使用指定的ID进行数据库查找。 麻烦的是,这完全不安全,即任何用户都可以在 ID 字段中尝试不同的数字并访问其他用户的项目详细信息。
那么我如何在 Laravel 中以用户无法欺骗 ID 等的方式安全地执行此操作? 我在想一些带有会话或 ID 哈希的东西,但不知道如何实际实现它。
由于我是新手,非常感谢源代码或具体细节!
非常感谢。
【问题讨论】:
标签: php laravel laravel-5 laravel-5.4