小弟是一個新手
目前自學寫一個會員資料
目前會員ID是用主Key累加
過年前突然想到若是如此不是很容易被人猜到
因此想請問各位先進
對於會員ID應該要怎麼規劃會比較好,不容易被猜到?
你可以先列一下各種情境, 看看被猜到之後的風險有多大? 再來討論要花多少成本處理?
一般來說,對於ID會不會被猜到。其實真的不用太在意。
因為一般請求來說如果不是TOKEN模式的情況下。
很多情況都是直接送對應身份ID的。
所以這樣的值本身就可以看到。
所以要用流水號、隨機號還是UUID。本身並不是很重要。
畢竟看的到的情況下。你怎麼改也沒用。
當然了。流水號而言。的確也是相對的容易被猜到。
但一般來說並不會對它下手。而是可能採用其它方式來處理。
或是本身看到或知道也無所謂的情況。
我個人大多還是使用自動編號而定。
不過一般在POST或是GET的情況下。能不利用ID就不利用。
我是使用token JWT 的方式。
所以個人資料的對應,大多無需給ID來處理。
「會員ID」除了登入以外,還會用來查詢嗎?
如果會,用「有序」數字或「有序」GUID能讓查詢效能比較好。
如果不會,GUID是最優解。
以上是練習場景的回答,如果是真的放到Server上的APP還考慮:
使用 Snowflake ID(類似 Twitter 的 Snowflake 演算法)
https://igouist.github.io/repost/2024/01/0116-snowflake/