2016-01-12 68 views
0

尊敬的StackOverflow社區!Laravel資源更新和操作與檢查元素

我剛剛遇到了從檢查元素控制檯操縱ID。

例如,如果我的表格有行動:/tickets/update/2
然後,如果我改變它檢查元素,以/tickets/update/3例如,然後更新您在/update/2不得不/update/3

所有的數據都沒有什麼辦法來防止這種?

最好的問候。 :)

+0

改進格式 – Dmitry

回答

0

你不能阻止事物的瀏覽器端的變量操作。你必須確保你的路線。 Laravel手冊在how to get started with authentication上的寫法相當不錯。

您可以使用hashids來混淆您的標識符變量,但這是不是安全措施

您要做的是驗證發出請求的最終用戶實際上是否有權訪問該資源。

基本例如:

function show(int $id): JsonResponse 
{ 
    $user = Auth::user(); 

    $result = Resource::where('user_id', $user->id) 
         ->where('id', $id) 
         ->firstOrFail(); 

    return Response::json($result); 
} 

當然,這都是可以更優雅的做用中間件,但原理基本相同。

+0

是。我使用權限和身份驗證中間件來保護路線。 我想到的一個想法是使用哈希,而不是整數ID,但它的代和重複檢查是痛苦的屁股... – user2132802

+0

我根據您的評論更新了我的答案。 –