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

2017-04-12 11:04:59 +08:00
 hymie

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

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

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

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

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

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

----------------------
搞这么多事情,不如上个 https

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

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

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

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

© 2021 V2EX