关于get请求和token的一些疑问

Ghost233333 2018-04-25 04:34:20
场景:
User表 B表 C表 三个表
B表有字段userID用于关联User表 C表有bID用于关联B表
现在用户登陆后 通过UserID去查询B表信息,相应url例如:getBInfoByUserId?userId=1
这样如果当前登陆用户1 更改url为getBInfoByUserId?userId=2
这样就直接获取了2号用户的B表信息

-----------------------------------------
针对上面的问题
在用户登陆时 将用户信息存入Session中
在用户去请求getBInfoByUserId?userId=2时 校验session中的用户ID和请求参数中的userId是否匹配

解决了这个问题衍生出另一个问题:
这时候用户在查出了B表信息后 通过某条B表信息的ID去查询C表中的信息 url:getCInfoByBId?bId=1
这时候用户修改url为:url:getCInfoByBId?bId=10086 PS:Bid 10086不是1号用户相关的B表信息
这种场景下 如何防止这种一环一环的非法操作

Token是否能够解决这类问题?
我在网上查了查token的验证方式和过程 感觉实际和上面的session验证方式区别不大。
...全文
1736 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ghost233333 2018-04-25
  • 打赏
  • 举报
回复
引用 5 楼 u013835778 的回复:
[quote=引用 4 楼 Ghost233333 的回复:] [quote=引用 2 楼 u013835778 的回复:] 第一个方法 把用户存入session getBInfoByUserId方法不用加userID参数 直接从session中获取 第二个问题是必然存在,如果想验证可以把seivce层方法中代入bId 和userid sql中进行关联查询
这种方法我也想过 但是太麻烦了 根本没办法生成一个通用的校验方法 每个请求操作都要写一套关联的校验方式。。想想都头皮发麻[/quote] 不行的话你就把表设计的加上userid字段 这样校验就不用关联其他表了 就是插入的时候需要加[/quote] 暴躁老哥啊,这么凶残的吗 我再想想办法。。实在不行再考虑这种方法
lifewell1 2018-04-25
  • 打赏
  • 举报
回复
引用 4 楼 Ghost233333 的回复:
[quote=引用 2 楼 u013835778 的回复:] 第一个方法 把用户存入session getBInfoByUserId方法不用加userID参数 直接从session中获取 第二个问题是必然存在,如果想验证可以把seivce层方法中代入bId 和userid sql中进行关联查询
这种方法我也想过 但是太麻烦了 根本没办法生成一个通用的校验方法 每个请求操作都要写一套关联的校验方式。。想想都头皮发麻[/quote] 不行的话你就把表设计的加上userid字段 这样校验就不用关联其他表了 就是插入的时候需要加
Ghost233333 2018-04-25
  • 打赏
  • 举报
回复
引用 2 楼 u013835778 的回复:
第一个方法 把用户存入session getBInfoByUserId方法不用加userID参数 直接从session中获取 第二个问题是必然存在,如果想验证可以把seivce层方法中代入bId 和userid sql中进行关联查询
这种方法我也想过 但是太麻烦了 根本没办法生成一个通用的校验方法 每个请求操作都要写一套关联的校验方式。。想想都头皮发麻
lifewell1 2018-04-25
  • 打赏
  • 举报
回复
第一个方法 把用户存入session getBInfoByUserId方法不用加userID参数 直接从session中获取 第二个问题是必然存在,如果想验证可以把seivce层方法中代入bId 和userid sql中进行关联查询
dong_19890208 2018-04-25
  • 打赏
  • 举报
回复
把接口改成不需要传递userId,userId在后台通过session获取
Ghost233333 2018-04-25
  • 打赏
  • 举报
回复
引用 1 楼 dong_19890208 的回复:
把接口改成不需要传递userId,userId在后台通过session获取
如果我是通过B表ID查询C表信息呢 总不能不传B表ID吧

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧