web api 访问数据库时, 参数用 guid 还是 name, 哪个更安全

2023-06-16 07:37:20 +08:00
 sbeasy

用户登录后, 返回用户信息, 需要返回组名还是组的 guid, 然后用户可以用组名 /组的 guid 获取组的信息. 组的 guid/name 都是唯一的.

不同表之间是用 guid 做关联, 用 guid 能更方便.

我的感觉, 用 name 更容易被猜测? 用 guid 更裸漏?

1507 次点击
所在节点    数据库
11 条回复
Chad0000
2023-06-16 07:40:40 +08:00
尽量使用主键,一般主键也是缓存的主键(或组成部分),效率更高。
sbeasy
2023-06-16 07:43:07 +08:00
@Chad0000 是的, 主键效率更高, 我不是做 web 的, 请问 web 一般都用主键 guid 吗, 客户端也这么干吗
Chad0000
2023-06-16 07:58:35 +08:00
@sbeasy
使用什么 Id 由后端负责(我一般用自增),客户端只需要使用无需参与甚至都不用管是什么类型( Web 前端的话)。
liantian
2023-06-16 08:02:19 +08:00
用主键,因为主键永远是唯一的。
用 name ,可能那天业务需求一改,就不是唯一的了。
opengps
2023-06-16 08:39:34 +08:00
主键或者加密主键,是参数的首选,传其他信息某种程度上等于暴露隐私
opengps
2023-06-16 08:40:31 +08:00
主键如果是递增的,注意加密,因为需要防止被穷举取数据,特别是缺少权限验证的接口
totoro52
2023-06-16 08:44:17 +08:00
领导: 下个版本我们要支持更改用户名!
sbeasy
2023-06-16 08:57:47 +08:00
如果 api 是 name 的, 用 guid 能干的, 感觉用 name 也可以干, guid 安全性是不弱于 name 的? 再就是中文 name 不能放到 query
sbeasy
2023-06-16 09:07:40 +08:00
主键是用的 uuid, 改用户名应该也不是问题, 用改了的访问
masterikk
2023-06-16 10:51:30 +08:00
@sbeasy 产品:下个版本我们迭代支持允许用户名重复
sbeasy
2023-06-16 11:05:27 +08:00
@masterikk 用 guid 应该也没问题, 那就用 guid 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/949147

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX