为了账号安全,请及时绑定邮箱和手机立即绑定

如何判断HTTP请求来源的正确性

如何判断HTTP请求来源的正确性

喵喵时光机 2019-04-08 11:18:54
现在要做这样一个判断,用户下载了某个app(平台不限ios/android)后,在初次启动app时向服务器发起一个http请求,我想判断这个请求是从app发过来的而不是来自其他工具的恶意访问。因为想到http请求中带的参数是可能被截获,所以尽管服务器端通过请求参数的验证和user-agent等的验证,也不能完全确保请求来源的合法性。请教有没有高安全性的解决方案!谢谢!
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

这个问题可以进一步升级为:http的请求,如何不被拦截并伪造.
因为web是不安全的,所以很难做到请求会被拦截.因此,我们假设请求一定会被拦截.
所以也带来一个问题:如果请求所携带的参数一直不变,那么肯定请求就很容易被伪造了.
因此,把思路转向:每次请求所携带的参数都不一样.
很容易就能想到公钥私钥的解决方案.使用公钥对某一参数进行加密,然后到服务端进行解密.
同时,为了让这一参数随时变化,很明显一个比较简单的参数就是时间了.
在对时间进行加密后,服务端就可以解密出来,得到时间.然后时间进行验证.
考虑到时间会有误差,所以服务端可以加一个误差值.
这个方案的漏洞是:如果app被破解了,公钥和参数可以获取了之后,就可以认为伪造加密后的数据,进行请求.
没有绝对的安全,只是把破解的难度加大而已.
                            
查看完整回答
反对 回复 2019-04-08
  • 2 回答
  • 0 关注
  • 453 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号