博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
app与服务端通信时如何进行消息校验
阅读量:5117 次
发布时间:2019-06-13

本文共 554 字,大约阅读时间需要 1 分钟。

当用户已经登陆成功后,在进行其他的修改操作时,很多都需要进行信息的校验,来确认用户修改的信息是否是他自己的发布的信息,避免他手动的的修改传入参数,修改非自己的信息。最经我们有个逻辑的漏洞,在app调用服务端的登陆接口登陆成功后,返回给app的信息中包含用户的userid,客户端在回去返回的userid后,会在其他的业务中把该userid传递过去,我们一些业务没有对这个userid进行真实性校验,这就造成了只用在修改登陆接口返回的userid,就可以用任何的人的账号进行操作。对于客户端跟服务端的信息交换,一般都是客户端在调用接口时进行了参数的加密来验证是否是客户端发送的请求,但是这只能解决过滤非自己的客户端发送的伪造请求,对于用户利用自己的客户端发送的恶意请求就无法过滤掉了。那么如果解决这个问题呢,方法是在进行登陆后返回的信息中在添加一个usertoken的返回值,这个值,可以是用用户信息的某几个字段加密生成的。当请求其他的需要userid的业务是必须把该参数也传递过去,在服务端用userid获取用户信息进行加密,验证usertoken如果不通过说明userid被串改,是非法请求。z

转载于:https://www.cnblogs.com/xinxinzhihuo/p/6830526.html

你可能感兴趣的文章
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
[WinAPI] API 2 [MessageBox API][消息框API]
查看>>
BZOJ 1264 动态规划 + 树状数组
查看>>
[BZOJ5248] 2018九省联考 D1T1 一双木棋 | 博弈论 状压DP
查看>>
super 小记
查看>>
C语言实现<读取>和<写入> *.ini文件(转)
查看>>
【架构】Linux的架构(architecture)
查看>>
从解决Cocos2dx-2.x arm64 Crash 来看C的奇技淫巧
查看>>
ASM 图解
查看>>
Java快捷键
查看>>
Wasserstein距离 和 Lipschitz连续
查看>>
Python Day14 JavaScript
查看>>
关于java Date和时区的问题 (转)
查看>>
通过表单展示不一样的页面(input对象)
查看>>
Windows 7 SP1 加速了系统 还是 SQL 2008拖慢了系统 ? SQL Server 2012 初体验
查看>>
centos 开机自启设定:
查看>>
组件基础(插槽slot)—Vue学习笔记
查看>>
Gensim进阶教程:训练word2vec与doc2vec模型
查看>>
插头DP小结
查看>>
Springboot通过cors解决跨域问题(解决spring security oath2的/oauth/token跨域问题)
查看>>