一些人建議在Web應用程序中爲用戶(以及其他目的)使用非順序ID。這種方法有什麼好處,什麼時候應該使用?爲什麼使用非順序ID?
-1
A
回答
0
如果您不想在應用程序中共享用戶數量或增長率,非順序ID很有用。這在啓動新服務時特別有用,並且您不希望用戶知道用戶數量仍然很少。
正如someone else說:
每個網站都有的第三個用戶,但第三個用戶不必知道他是第三個用戶。
必須注意的是非常重要的,你應該不以此爲途徑,以安全(即security through obscurity)。
0
好處是非順序ID很難猜測。如果他們暴露在任何地方,順序ID可用於確定有關您的網站的信息。
例如,如果每個註冊用戶的用戶信息頁面都被用戶ID訪問,那麼攻擊者可以使用它來計算您的用戶數量,並計算您的註冊率。這可能是商業上敏感的數據。
使用一個像uuid這樣的稀疏ID可以防止這種攻擊,並且還會讓別人難以抓取用戶列表。
另一方面,您需要應對這種空間中的潛在衝突,並且使得您計算用戶的難度更大。
何時應該使用什麼取決於你想要做什麼,如果你希望人們能夠迭代你的用戶,或者通過ID排序,那麼使用順序ids。如果你想防止這種情況,那麼使用非順序的,或者不要以外部可見的方式使用teid。
相關問題
- 1. MySql表與非順序ID
- 2. 我可以使用非順序ID作爲回送模型嗎?
- 3. 程序執行是非順序的。爲什麼?
- 4. 要按順序排列非序列ID
- 5. 爲什麼Seam會話ID(cid)不會按順序排列
- 6. IE9的JavaScript排序順序...爲什麼?
- 7. .NET System.String.Length屬性使用什麼順序?
- 8. 爲什麼chrome不遵循CSS順序的優先順序?
- 9. 什麼非GUI程序使用glib?
- 10. 爲什麼listFiles()不能保證順序?
- 11. 爲什麼警報順序顛倒了?
- 12. Neo4j,Cypher,過濾順序,爲什麼?
- 13. 爲什麼Bootstrap 3.1.1反向列順序?
- 14. 爲什麼按此順序輸出?
- 15. 爲什麼管道順序很重要?
- 16. 爲什麼順序不通過組合?
- 17. 爲什麼Collection.sort順序整數奇怪?
- 18. 爲什麼索引不按順序使用(外鍵)
- 19. 爲什麼多個內核使用順序算法?
- 20. 使用ContentValues存儲的值的順序不正確,爲什麼?
- 21. 爲什麼我不能在查找方法中使用順序?
- 22. 爲什麼使用`log.Println`和`fmt.Println`時輸出順序改變了?
- 23. 爲什麼Babel.js將發生器轉換爲非順序切換的情況?
- 24. 如何在Tensorflow中使用順序和非順序功能
- 25. 爲什麼使用非特權方法?
- 26. 爲什麼AMD GCN使用非零NULL?
- 27. 爲什麼使用進程ID(PID)?
- 28. RoR - 爲什麼不能使用此ID?
- 29. 什麼樣的應用程序使用getopt「按順序返回」行爲?
- 30. 爲什麼SQL ID序列不同步(特別是使用Postgres)?