V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sbeasy
V2EX  ›  数据库

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

  •  
  •   sbeasy · 2023-06-16 07:37:20 +08:00 · 1512 次点击
    这是一个创建于 560 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    11 条回复    2023-06-16 11:05:27 +08:00
    Chad0000
        1
    Chad0000  
       2023-06-16 07:40:40 +08:00
    尽量使用主键,一般主键也是缓存的主键(或组成部分),效率更高。
    sbeasy
        2
    sbeasy  
    OP
       2023-06-16 07:43:07 +08:00
    @Chad0000 是的, 主键效率更高, 我不是做 web 的, 请问 web 一般都用主键 guid 吗, 客户端也这么干吗
    Chad0000
        3
    Chad0000  
       2023-06-16 07:58:35 +08:00
    @sbeasy
    使用什么 Id 由后端负责(我一般用自增),客户端只需要使用无需参与甚至都不用管是什么类型( Web 前端的话)。
    liantian
        4
    liantian  
       2023-06-16 08:02:19 +08:00 via iPhone
    用主键,因为主键永远是唯一的。
    用 name ,可能那天业务需求一改,就不是唯一的了。
    opengps
        5
    opengps  
       2023-06-16 08:39:34 +08:00
    主键或者加密主键,是参数的首选,传其他信息某种程度上等于暴露隐私
    opengps
        6
    opengps  
       2023-06-16 08:40:31 +08:00
    主键如果是递增的,注意加密,因为需要防止被穷举取数据,特别是缺少权限验证的接口
    totoro52
        7
    totoro52  
       2023-06-16 08:44:17 +08:00
    领导: 下个版本我们要支持更改用户名!
    sbeasy
        8
    sbeasy  
    OP
       2023-06-16 08:57:47 +08:00
    如果 api 是 name 的, 用 guid 能干的, 感觉用 name 也可以干, guid 安全性是不弱于 name 的? 再就是中文 name 不能放到 query
    sbeasy
        9
    sbeasy  
    OP
       2023-06-16 09:07:40 +08:00
    主键是用的 uuid, 改用户名应该也不是问题, 用改了的访问
    masterikk
        10
    masterikk  
       2023-06-16 10:51:30 +08:00
    @sbeasy 产品:下个版本我们迭代支持允许用户名重复
    sbeasy
        11
    sbeasy  
    OP
       2023-06-16 11:05:27 +08:00
    @masterikk 用 guid 应该也没问题, 那就用 guid 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2750 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:30 · PVG 20:30 · LAX 04:30 · JFK 07:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.