我现在 web api 一般都用 请求参数 加上 一个 secret 然后 MD5 拼接到 请求参数 中 ,服务器端 验证这个 sign ,但是在前端 这个 secret 很容易被看到 ,别人可以根据我的逻辑得到sign,然后模拟请求,请问有什么好的方法 保存这个 secret 或者 另一种思路去校检请求 是否伪造
登录时,后台给个加密的token,以后的api请求传个token校验就行
token校检 其实 我在 sign 校检之后 就做的 , 这里 别人只要拿到token 就可以了直接伪造请求了 ,我的意思 就是 有人拿到token ,他也不能 伪造请求 ,所以弄了个 sign校检
@丁松松松: 别人能拿到报文一切都免谈.这个道理懂不懂...
你以这个为出发点本身就有问题.
你说的是发起请求时使用密钥对请求做签名.照你这牛角尖.那密钥被别人拿到了是不是就可以伪造请求了.
@丁松松松: 每个账户有不同的token,token里还有有效时间校验。
而且楼上说的对,别人能拿到报文一切都免谈
@吴瑞祥: 有道理
你放到后端代码再加salt不就可以了么?避免伪造有两种方式:1,反向查询,根据请求中的唯一标识反查指定地址确认这个来源。2,加强/更换签名算法。
你放到后端代码再加salt不就可以了么? 什么意思?
@丁松松松: 你现在不是怕salt被看到么?那么就把salt信息放到服务端来不就可以了么?
@Daniel Cai: 你的意思是 客户端去请求服务端 拿到这个 salt ?
@丁松松松: 不是啊,你MD5加salt,调用方肯定私下就知道你的salt是多少了,在调用方服务端那边hash完再请求到服务端不就完了么?
@Daniel Cai: 我知道你的意思了 就是 类似弄好一个 token 每次请求 都去校检一下 对不?
@丁松松松: token和salt没关系。token可能是一次性的,而你这块用来证明身份的肯定是salt了。