最近在做两个系统的数据对接工作,在设计 http 接口文档的时候,请求数据中加了一个的签名参数,防止请求数据被篡改。
领导对我的文档提出两点修改意见:
1.请求参数在增加一个参数,标识这个请求的编号 2.响应数据也新增一个签名参数,防止响应数据被篡改
我很少看到这样的做法 1http 请求本身就是无状态的,加一个请求编号意义不大。 2 如果是 ajax 请求,还要在前端判断响应数据是否一致,这样做是否有用和有必要。
领导对数据传输安全比较重视,请各位发表一下看法,怎么做比较合适,我该如何说服他。
1
fenixan2010 2017-04-12 11:12:28 +08:00
上 https 吧
|
2
maemual 2017-04-12 11:27:58 +08:00
所以为什么不上 HTTPS
|
3
xenme 2017-04-12 11:30:55 +08:00
加个签名就够了,序号没啥必要
|
4
shoaly 2017-04-12 11:31:45 +08:00
加一个 编号是有用的, 防止重放攻击, 也就是说 对于服务器, 同一个编号 无法连续访问 2 次
|
5
hymie OP @fenixan2010 对忘了说,目前还不支持 HTTPS ,我会去建议一下
|
9
shoaly 2017-04-12 11:39:00 +08:00
签名 有没有必要 主要看 你的需求啊, 如果需要表明数据没有被篡改过. 那就两边都加, 没加的都是不可信的
|
10
mhycy 2017-04-12 11:39:07 +08:00
很显然,这是在实现 HTTPS 的代替品,签名加密返回还是有意义的
|
11
zooandzoo 2017-04-12 11:43:31 +08:00
你可以参考微信支付的接口是怎么传的并不难,老板问你你就说微信也是这么做的。
|
12
littleylv 2017-04-12 11:51:21 +08:00
很多支付系统接口都是双向校验的
|
13
tinyproxy 2017-04-12 13:15:52 +08:00 via iPhone
请求参数加签名不是为了防低级 CC 或者滥用么。。。至于请求编号,你们 log 能 hook 上才有意义。。。
|
14
akira 2017-04-12 13:21:47 +08:00
编号参数在特定情况下用处很大的。双向签名也不奇怪呀,不过客户端你校验与否就是另外一回事了。
---------------------- 搞这么多事情,不如上个 https |