2014-10-07 39 views
0

我是Laravel 4的新手,我正在尝试开发一个简单的员工CRUD系统。使用Laravel加密URL中的ID 4

如果我想更新记录,我必须访问“domain/laravel/employee/1”,这意味着“1”表示为员工ID。 Laravel 4中有一个函数可以设置为自动加密ID吗?

或者也许有更好的方式,而不是ID加密?

+0

该id是一个简单的自动递增数字。如果仅仅是因为每个人都会知道在他们之前和之后雇用的人的身份证,那么它不适合用作某种秘密雇员ID。您应该生成随机的秘密雇员ID。 – meagar 2014-10-07 06:48:36

+0

假设用户A只能访问员工A(1)和B(2),如果用户A试图更改URL并获取员工C(3)的信息,那么用户可以只是操纵URL。 – Paengski 2014-10-07 06:50:54

+0

然后,您需要使用真实身份验证,而不是简单地尝试生成“加密”的ID。这是通过更糟糕的隐晦的安全。该网址不是安全功能,请不要像这样对待它。 – meagar 2014-10-07 06:52:36

回答

1

这不是最佳实践。如果您使用加密的Crypt::encrypt($id) ID,然后将URL

domain/laravel/employee/eyJpdiI6IjltdEJraDN3SWdGa21hTktodWdq

这并不容易预测。使用Crypt::decrypt($id)解密该ID。