社区
Web 开发
帖子详情
/getUserById/{userId}这样的请求毫无安全性可言,怎么解决问题呢
亲爱的Joe
2018-04-04 03:34:52
/getUserById/{userId}
上面那个url可以通过userId获取到User的信息。
我们假设只有user所在公司才能拿到该User的信息。那么问题来了。假如其他单位的管理员登录后把上面的userId改成了别的攻速的User的userId,那他不就拿到别别人公司user的信息了么?
这样的问题要怎么解决啊?
再升级下问题。比如只有单位和本人才应该拿到自己的信息呢?
...全文
1519
12
打赏
收藏
/getUserById/{userId}这样的请求毫无安全性可言,怎么解决问题呢
/getUserById/{userId} 上面那个url可以通过userId获取到User的信息。 我们假设只有user所在公司才能拿到该User的信息。那么问题来了。假如其他单位的管理员登录后把上面的userId改成了别的攻速的User的userId,那他不就拿到别别人公司user的信息了么? 这样的问题要怎么解决啊? 再升级下问题。比如只有单位和本人才应该拿到自己的信息呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
白_开_心
2020-02-29
打赏
举报
回复
那是不是还有垂直权限漏洞
Zoey_C
2018-04-10
打赏
举报
回复
没有权限控制嘛?请求路径不能隐藏嘛。
亲爱的Joe
2018-04-10
打赏
举报
回复
谢谢大家的回答了。 我解决了,虽然不够完美,也可能没有充分的使用shiro框架的功能,不过,大体上是解决了。 我使用了shiro中的session来保存了一些登录用户的数据,然后在某些地方做了一些判断,比如根据用户id获取用户数据的时候,我要判断下这个用户的id是不是当前登录用户的id。 或者单位级别用户根据用户id获取用户信息的时候,我还要求请求信息的单位账号提供自己的单位id,我自己主动判断是否是所请求用户的单位。 另外,我知道了这种问题的专业术语:水平权限漏洞。 大家想学习的可以去自己搜搜看看。
我纯洁全身都纯洁
2018-04-10
打赏
举报
回复
给登录者加这个接口的权限。过滤器判断下即可
yjsl__
2018-04-09
打赏
举报
回复
员工应该是有个部门外键,删除前,先根据员工的部门外键找到对应的经理,判断该经理的id和当前登录用户是否一样
maradona1984
2018-04-09
打赏
举报
回复
难道你们没有权限控制? 加个数据权限控制就可以了
Braska
2018-04-09
打赏
举报
回复
这跟url写法没关系吧 就算userId不写在url里 也可以从request里面拿到userId 归根结底就是权限控制的问题
亲爱的Joe
2018-04-09
打赏
举报
回复
引用 4 楼 yjsl__ 的回复:
两家公司能共用一张user表也是第一次听说
不要太较真,那就不说两家公司,说一家公司好了。 公司的a部门职工信息职能由a部门的经理看,假如b部门经理登录后换了个a部门员工的id就去删除了,你说这样的需求还不多么?
yjsl__
2018-04-05
打赏
举报
回复
两家公司能共用一张user表也是第一次听说
这里有bug
2018-04-04
打赏
举报
回复
所有这种接口的,可在访问的接口上面加一个拦截器,拦截器的内容就是判断是否单位和本人
落落叶叶无声
2018-04-04
打赏
举报
回复
访问/getUserById/{userId}页面时将userId所属单位和当前管理员的单位对比下,不同就提示不存在,相同就给过。
qq_41228556
2018-04-04
打赏
举报
回复
你可以判断一下,他要获取用户信息的公司与他所在公司是否一致不就行了
SpringBoot/Web项目防止表单/
请求
重复提交(单体和分布式)
SpringBoot/Web项目防止表单/
请求
重复提交(单机和分布式) 一、场景/方案 说起web项目的防止表单/
请求
重复提交,不得不说幂等性。 幂等性, 通俗的说就是一个接口, 多次发起同一个
请求
, 必须保证操作只能执行一次。 1.1、常见场景: • 订单接口, 不能多次创建订单 • 支付接口, 重复支付同一笔订单只能扣一次钱 • 支付宝回调接口, 可能会多次回调, 必须处理重复回调 ...
如何保证HTTP接口
请求
的安全呢?
在二家公司负责后台开发与APP接口开发。 那我们要如何对接口
请求
进行一个安全校验或者拦截非法
请求
呐? 1、选择拦截过滤器。 在
请求
的时候对
请求
方法进行一次拦截处理。比如非正常访问的方法已经注入插入可执行语句参数验证等在拦截中进行一次安全校验保证
请求
不是非法
请求
。 2、数据加密。我们知道目前大部分APP接口都是通过Http协议进行调用的容易被抓包拦截。 我们可以对客户端和服务端都对数据
AntPathMatcher
ant匹配规则 原文:https://www.cnblogs.com/leftthen/p/5212221.html AntPathMatcher如名使用的ant 的匹配规则,我们先看看吧. 字符wildcard 描述 ? 匹配一个字符 * 匹配0个及以上字符 ** 匹配0个及以上目录directories 看几个官方的例子吧: com/t?st.jsp - 匹配: com/test.jsp
如何保证token的
安全性
?
引入如何保证token的
安全性
?原文在连接中,这里只是防止丢失做的备份。 接口的
安全性
主要围绕token、timestamp和sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看: Token授权机制: 用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-
UserId
以键值对的形式存放在缓存服务器中。服务端接收到
请求
后进行Token验证,如果Token不存在,说明
请求
无效。Token是客户端访问服务端的凭证。 时间戳超时机制: 用户每次
请求
都带上
关于接口
请求
(application/json)跨域问题
神奇动物
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章