通过使用UUID
作为表中的主键,我们可以保护我们的数据免受攻击者的攻击,但我们也会在表中存储user ID
种类的详细信息。如果黑客知道用户ID,他就可以了解有关该行的详细信息。那么,UUID
在这里有什么用呢?
UUID
基本上用于唯一标识表中的记录。与安全性无关。您需要防止SQL injection
攻击发生在您的数据库中。为此,您可以使用Parameterized stored procedures
.无论哪种情况,一旦入侵者可以访问数据库,这意味着无论哪种方式,他都可以访问表行。
对于内部关系和引用,具有自动增量的整数是完美的:小尺寸和小索引。
我在某些项目中还使用 UUID 来隐藏用户上传/设置的数据。用户获得带有 UUID 的链接,并可以将其提供给任何其他人。本例的数据库布局示例:
dis_id int unsigned not NULL auto_increment,
uuid char(36) not NULL COLLATE latin1_bin,
。和可选的...
unique key(uuid)
排序规则latin1_bin
优化了空间和搜索效率。您也可以将 UUID 存储为 16 字节二进制数据。