在链接中需要保存用户的信息,比如qid,通过链接中的qid进入用户中心。
保证请求接口数据的完整性
GET请求参数不经过验证,直接参与后台数据库操作
如果代码中直接使用链接中传递的值qid进行数据库的改操作,会出现非常严重的问题。通过扫描接口,数据会被恶意的修改,或无故增加过多的无效数据
需要对链接中的参数进行校验。最简单的校验手段就是:追加一个签名字段。修改成http://url?qid=1&sign=esf。后台查看签名和qid是否对应(使用同样的签名方式签名qid和链接的qid进行对比)。
避免暴露同时增加签名最好的方式:建立一个qid和伪qid的对应关系。暴露出去的始终是伪qid,通过链接中的伪qid查询是否存在对应的qid实现了参数的校验。而且每个伪qid的加密方式可以不同,保证了不可能实现破解。
签名sign
类似微信签名的方, 给接口调用方指配标识对。如:company => 'xx1', secret => 'xx2'。调用接口的时候使用company和secret、以及所有的其他请求参数参与签名。服务端通过请求中的company获取secret重新计算签名。
文章为原创,转载请注明链接地址。觉得有帮助的话,不妨打个赏吧!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。