日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql自增id前端安全显示_mysql使用自增id遇到的坑

發布時間:2024/9/19 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql自增id前端安全显示_mysql使用自增id遇到的坑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

最近在做一個項目,給APP提供接口,用戶認證機制采用了JWT(JSON Web Token)。項目開發完之后,給用戶測試(刪檔測試),測試完之后,清空了數據庫里的數據,之后又其他用戶注冊了。然后問題就來了,此時用戶id為1的用戶和以前為1的用戶已經不是同一個用戶了。但是APP內的token沒清除,以前用戶的id為1的用戶進入APP后顯示的是當前用戶id為用戶對應的信息。

解決方案

使用UUID,其中Java自帶了uuid類(java.util.UUID),PHP可以直接使用Composer包ramsey/uuid

UUID簡介

UUID含義是通用唯一識別碼 (Universally Unique Identifier),這是一個軟件建構的標準,也是被開源軟件基金會 (Open Software Foundation, OSF)

的組織應用在分布式計算環境 (Distributed Computing Environment, DCE) 領域的一部分。

UUID 的目的,是讓分布式系統中的所有元素,都能有唯一的辨識資訊,而不需要透過中央控制端來做辨識資訊的指定。如此一來,每個人都可以建立不與其它人沖突的 UUID。

在這樣的情況下,就不需考慮數據庫建立時的名稱重復問題。目前最廣泛應用的 UUID,即是微軟的 Microsoft’s Globally Unique Identifiers (GUIDs),而其他重要的應用,則有 Linux ext2/ext3 檔案系統、LUKS 加密分割區、GNOME、KDE、Mac OS X 等等

其他坑

游戲服務器分區合區

別人很容易通過id猜測系統的數據

當你想遷移表結構到一個新環境的時候,默認自增值是從當前最大id下一個開始的,需手動改腳本

當我們對MySQL進行分表操作后,將不能依賴MySQL的自動增量來產生唯一ID了,因為數據已經分散到多個表中。

總結

Uid等其他主建,尤其是能標示特定實體的,都不要自增主鍵

主要的表盡量全部使用uuid

一些不重要的表(日志、一次性活動),為了開發方便,可以采用自增id

相關鏈接

總結

以上是生活随笔為你收集整理的mysql自增id前端安全显示_mysql使用自增id遇到的坑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。