httpbin - 协议调试工具
httpstatuses - 协议状态码查询
httpie - cURL-like tool for humans
Fiddler
hymie
V2EX  ›  HTTP

http 接口请求和响应数据防止被篡改

  •  
  •   hymie · Apr 12, 2017 · 5402 views
    This topic created in 3349 days ago, the information mentioned may be changed or developed.

    最近在做两个系统的数据对接工作,在设计 http 接口文档的时候,请求数据中加了一个的签名参数,防止请求数据被篡改。

    领导对我的文档提出两点修改意见:

    1.请求参数在增加一个参数,标识这个请求的编号 2.响应数据也新增一个签名参数,防止响应数据被篡改

    我很少看到这样的做法 1http 请求本身就是无状态的,加一个请求编号意义不大。 2 如果是 ajax 请求,还要在前端判断响应数据是否一致,这样做是否有用和有必要。

    领导对数据传输安全比较重视,请各位发表一下看法,怎么做比较合适,我该如何说服他。

    14 replies    2017-04-12 13:21:47 +08:00
    tekeporter
        1
    tekeporter  
       Apr 12, 2017
    上 https 吧
    maemual
        2
    maemual  
       Apr 12, 2017
    所以为什么不上 HTTPS
    xenme
        3
    xenme  
       Apr 12, 2017
    加个签名就够了,序号没啥必要
    shoaly
        4
    shoaly  
       Apr 12, 2017
    加一个 编号是有用的, 防止重放攻击, 也就是说 对于服务器, 同一个编号 无法连续访问 2 次
    hymie
        5
    hymie  
    OP
       Apr 12, 2017
    @fenixan2010 对忘了说,目前还不支持 HTTPS ,我会去建议一下
    hymie
        6
    hymie  
    OP
       Apr 12, 2017
    @maemual 对忘了说,目前还不支持 HTTPS ,我会去建议一下
    hymie
        7
    hymie  
    OP
       Apr 12, 2017
    @shoaly 那返回数据呢,有必要签名加密返回吗
    maemual
        8
    maemual  
       Apr 12, 2017
    @hymie #6 因为你目前的基于 HTTP 的安全方案搞到最后,就变成 HTTPS 了。。。。。
    shoaly
        9
    shoaly  
       Apr 12, 2017
    签名 有没有必要 主要看 你的需求啊, 如果需要表明数据没有被篡改过. 那就两边都加, 没加的都是不可信的
    mhycy
        10
    mhycy  
       Apr 12, 2017
    很显然,这是在实现 HTTPS 的代替品,签名加密返回还是有意义的
    zooandzoo
        11
    zooandzoo  
       Apr 12, 2017
    你可以参考微信支付的接口是怎么传的并不难,老板问你你就说微信也是这么做的。
    U7Q5tLAex2FI0o0g
        12
    U7Q5tLAex2FI0o0g  
       Apr 12, 2017
    很多支付系统接口都是双向校验的
    tinyproxy
        13
    tinyproxy  
       Apr 12, 2017 via iPhone
    请求参数加签名不是为了防低级 CC 或者滥用么。。。至于请求编号,你们 log 能 hook 上才有意义。。。
    akira
        14
    akira  
       Apr 12, 2017
    编号参数在特定情况下用处很大的。双向签名也不奇怪呀,不过客户端你校验与否就是另外一回事了。

    ----------------------
    搞这么多事情,不如上个 https
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2922 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 10:12 · PVG 18:12 · LAX 03:12 · JFK 06:12
    ♥ Do have faith in what you're doing.