如何保护传递给另一个页面的查询字符串或参数
How to protect querystring or parameters passed to another page
我有一个以表格格式显示产品列表的方案,其中一列有一个 link 到产品页面。
<td> <a href="/ViewProduct/{{$request->prd_ID}}/{{$request->usr_ID}}" id="link" > Product </a> </td>
路线如下:
Route::get('ViewProduct/{pid?}/{uid?}', 'ViewProductController@Page_Load');
而 URL 将是:
http://example.com/ViewProduct/11/4
这种方式直接暴露了product id和user id,可以在浏览器中轻松修改。关于如何在 php/laravel?
中解决这些问题的任何意见
这真的不是您应该担心的事情,这是毫无意义的浪费时间。有人将 URL 从 2
更改为 3
,他们会看到不同的页面... 那又怎样?! 如果他们您首先被允许查看该页面,即如果他们可以在您的网站上四处点击并最终发现该页面,那么问题是什么?他们只是走了一条捷径。如果他们 不允许 看到该页面...好吧,当有人请求该页面时,您正在做授权检查,不是吗?如果你是,那根本就没有问题。如果不是,那么 那是 你真正的问题。试图保持 URLs "secret" 和 "unguessable" 是不可能的,只需进行适当的授权检查。
我有一个以表格格式显示产品列表的方案,其中一列有一个 link 到产品页面。
<td> <a href="/ViewProduct/{{$request->prd_ID}}/{{$request->usr_ID}}" id="link" > Product </a> </td>
路线如下:
Route::get('ViewProduct/{pid?}/{uid?}', 'ViewProductController@Page_Load');
而 URL 将是:
http://example.com/ViewProduct/11/4
这种方式直接暴露了product id和user id,可以在浏览器中轻松修改。关于如何在 php/laravel?
中解决这些问题的任何意见这真的不是您应该担心的事情,这是毫无意义的浪费时间。有人将 URL 从 2
更改为 3
,他们会看到不同的页面... 那又怎样?! 如果他们您首先被允许查看该页面,即如果他们可以在您的网站上四处点击并最终发现该页面,那么问题是什么?他们只是走了一条捷径。如果他们 不允许 看到该页面...好吧,当有人请求该页面时,您正在做授权检查,不是吗?如果你是,那根本就没有问题。如果不是,那么 那是 你真正的问题。试图保持 URLs "secret" 和 "unguessable" 是不可能的,只需进行适当的授权检查。