2014-10-07 69 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。