我讀過一些關於散列用戶的ID(DB主鍵)並保密的事情,但我真的不明白爲什麼。如果用戶ID是一個祕密
我正在創建一個REST API,您可以從中檢索某個用戶的資源。取決於登錄的用戶,他/她將接收公共資源,並在獲得授權的情況下接收私人資源。
是不是不好做這樣的事情:
.../resources?user_id=17
感謝
我讀過一些關於散列用戶的ID(DB主鍵)並保密的事情,但我真的不明白爲什麼。如果用戶ID是一個祕密
我正在創建一個REST API,您可以從中檢索某個用戶的資源。取決於登錄的用戶,他/她將接收公共資源,並在獲得授權的情況下接收私人資源。
是不是不好做這樣的事情:
.../resources?user_id=17
感謝
那麼,用戶將必須由一些 ID來標識。即使您公開的ID是實際ID或其他一些隨機數的散列版本,那麼即將成爲其公共ID。它對你沒有什麼幫助。
只有一個隨機化id的參數:如果你不想讓人們通過遞增計數器來簡單地刮掉你的內容。對id進行隨機化使得這樣做有點困難。除此之外:問自己什麼人可以做知道編號。希望沒有,因爲你的應用程序是安全的,否則。
如果您設置了正確的權限並且不允許其他用戶濫用該ID,那麼無論該ID是公共還是私人都無關緊要。
您當然可以使用單獨的ID來公開表示用戶,並使用私有ID進行權限設置。