开发者社区> 问答> 正文

关于签名与验签一般都要求在服务器端进行更安全,这样客户端每次调用服务器获取加签后?400报错

关于签名与验签一般都要求在服务器端进行更安全,这样客户端每次调用服务器获取加签后的参数,然后去请求第三方url。但是有个漏洞是,如何保证客户端请求服务器获取签名数据的安全性?? 400 报错

关于签名与验签一般都要求在服务器端进行更安全,这样客户端每次调用服务器获取加签后的参数,然后去请求第三方url。但是有个漏洞是,如何保证客户端请求服务器获取签名数据的安全性?如果有人向你的获取签名的url发送请求获取到签名后请求第三方就没办法了。

展开
收起
爱吃鱼的程序员 2020-06-05 12:37:35 1036 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    签名是保证数据的完整性与不篡改.

    加密是保证安全不被别人查看到明文.

    不是一回事.

    ######这点我当然清楚,加签本身就是防篡改。签名本身是用到了加密的。加密方案如果放到客户端就容易泄露。如果放到服务端你调用获取签名及内容看似安全,但是你调用获取黑客也可以获取。除非你获取的url也加签,这样就是个无限循环。######

    为什么要请求服务器获取签名,签名是客户端直接就做好了然后船王服务器验证码?

    ######回复 @小桥流水凌凌漆 : 你浏览器里面要做签名?######回复 @关河 : 秘钥在客户端,如果是app还好。如果是浏览器,一定会泄露,因为逻辑就在js里写。对所有人可见的######回复 @小桥流水凌凌漆 : 秘钥分配给你啊,秘钥不泄露不就行了######客户端比如浏览器你要做签名 要有签名工具,要有秘钥。这种东西放在客户端,很容易就泄露了。别人拿到这些东西想怎样就怎样。######

    你说的也有道理,主要就是这个secret如何安全不泄露出去,但是互联网通信几乎没有一定安全的吧,签名也只是相对安全的做法

    ######https相对能做到信息的加密,做不到100%防篡改。只做到客户端对服务器的信任,做不到服务器对客户端信任。token本来可以做到对客户端信任,但是由于在客户端导致容易被泄露。所以密码、签名。再互联网就是个永恒的循环无解。支付表秘钥也只是把责任推给了商户,商户把秘钥丢了怪不着支付宝,不是终极解决方案。还是要保证客户端代码不透明,直接客户端做签名才行。
    2020-06-05 12:37:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS计算与存储分离架构实践 立即下载