首页 新闻 会员 周边 捐助

web api 安全问题

0
[已解决问题] 解决于 2016-09-26 14:13

我现在 web api 一般都用 请求参数 加上 一个 secret   然后 MD5  拼接到 请求参数 中 ,服务器端 验证这个 sign ,但是在前端 这个 secret 很容易被看到  ,别人可以根据我的逻辑得到sign,然后模拟请求,请问有什么好的方法 保存这个 secret 或者  另一种思路去校检请求 是否伪造

丁松松松的主页 丁松松松 | 初学一级 | 园豆:112
提问于:2016-09-26 12:57
< >
分享
最佳答案
0

 

登录时,后台给个加密的token,以后的api请求传个token校验就行

奖励园豆:5
Artikel | 菜鸟二级 |园豆:387 | 2016-09-26 13:40

 token校检 其实 我在  sign 校检之后  就做的  ,  这里  别人只要拿到token  就可以了直接伪造请求了 ,我的意思  就是  有人拿到token    ,他也不能  伪造请求  ,所以弄了个 sign校检

丁松松松 | 园豆:112 (初学一级) | 2016-09-26 13:46

@丁松松松: 别人能拿到报文一切都免谈.这个道理懂不懂...

你以这个为出发点本身就有问题.

你说的是发起请求时使用密钥对请求做签名.照你这牛角尖.那密钥被别人拿到了是不是就可以伪造请求了.

吴瑞祥 | 园豆:29449 (高人七级) | 2016-09-26 14:07

@丁松松松: 每个账户有不同的token,token里还有有效时间校验。

Artikel | 园豆:387 (菜鸟二级) | 2016-09-26 14:11

而且楼上说的对,别人能拿到报文一切都免谈

Artikel | 园豆:387 (菜鸟二级) | 2016-09-26 14:13

@吴瑞祥: 有道理

丁松松松 | 园豆:112 (初学一级) | 2016-09-26 14:14
其他回答(1)
0

你放到后端代码再加salt不就可以了么?避免伪造有两种方式:1,反向查询,根据请求中的唯一标识反查指定地址确认这个来源。2,加强/更换签名算法。

Daniel Cai | 园豆:10424 (专家六级) | 2016-09-26 13:19

你放到后端代码再加salt不就可以了么?  什么意思?

支持(0) 反对(0) 丁松松松 | 园豆:112 (初学一级) | 2016-09-26 13:21

@丁松松松: 你现在不是怕salt被看到么?那么就把salt信息放到服务端来不就可以了么?

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-09-26 13:32

@Daniel Cai: 你的意思是 客户端去请求服务端 拿到这个 salt ?

支持(0) 反对(0) 丁松松松 | 园豆:112 (初学一级) | 2016-09-26 13:33

@丁松松松: 不是啊,你MD5加salt,调用方肯定私下就知道你的salt是多少了,在调用方服务端那边hash完再请求到服务端不就完了么?

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-09-26 13:43

@Daniel Cai: 我知道你的意思了  就是  类似弄好一个  token  每次请求  都去校检一下  对不?

支持(0) 反对(0) 丁松松松 | 园豆:112 (初学一级) | 2016-09-26 13:48

@丁松松松: token和salt没关系。token可能是一次性的,而你这块用来证明身份的肯定是salt了。

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-09-26 13:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册