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


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

http Android ios

朵鲁蒂妮妲 11 years, 5 months ago

移动app可以考虑自签名ssl证书。ssl pinning保证请求安全。除非反编译源码,否则几乎为0的可能性伪造请求。


update:

看到这问题又被顶上来了,忍不住更新一下回答。

首先,把问题细分化看。

假设情景1 - App请求内容为公共内容(例如:新闻列表、文章列表、发布评论(假设评论不需要登录)):
如上的回答,自签名SSL(所谓的自签名目的是节省那一年几十或几百、几千块的证书费用)即可。

假设情景2 - App请求内容为私有内容(比如网银、内部客户端等需要用户登录):
1.登录,获取用户唯一证书(每次登陆都生成新的证书,覆盖已有证书)
2.App端请求携带该用户唯一证书请求

爨冏雠蠡鬯蕤 answered 11 years, 5 months ago

Your Answer