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

要给第三方厂商提供 HTTP 接口,该怎么做接口保护?

  •  
  •   jaylee4869 ·
    torvalds · 2019-12-23 11:39:47 +08:00 · 3400 次点击
    这是一个创建于 1822 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果请求头带 token 的话会相对麻烦,参数 MD5 校验 目前来说比较简单可行,各位大佬有啥推荐的做法吗? 另外一个就是担心接口承受的频率,令牌桶限流我会考虑考虑实现一下……

    7 条回复    2019-12-23 13:44:45 +08:00
    993651481
        1
    993651481  
       2019-12-23 12:50:45 +08:00
    个人感觉 token 得话可能更方便一些。写个 http 中间件,认证逻辑中间件做。md5 的话还得要考虑参数排序之类的
    junan0708
        2
    junan0708  
       2019-12-23 13:06:37 +08:00
    限制 ip
    chenuu
        3
    chenuu  
       2019-12-23 13:10:01 +08:00
    商户号配置 rsa/pgp,IP 白名单.内容上,约定敏感字段,拼一下走个 rsa 的签名验签.
    lhx2008
        4
    lhx2008  
       2019-12-23 13:14:11 +08:00 via Android   ❤️ 1
    token 就行,不过别让对方前端调
    Laimf
        5
    Laimf  
       2019-12-23 13:42:54 +08:00
    token
    sign 加签带时间戳
    chinvo
        6
    chinvo  
       2019-12-23 13:43:54 +08:00 via iPhone
    token 加签名

    token 可以用 OAuth 之类的方案

    签名就是对主要字段做 hmac 或者私钥签名
    chinvo
        7
    chinvo  
       2019-12-23 13:44:45 +08:00 via iPhone
    注意签名用的密钥绝对不能通过请求同时传递(仅参与签名而不对外暴露)

    以及禁止前端直接调用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1175 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:10 · PVG 02:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.