开发中遇到的越权问题
2023-02-18 16:47:45 时间
越权问题:
描述:在使用 api 请求订单详情接口时,一般我们是传递订单id 来获取该订单的内容。但是会存在一个问题:当用户手动去变更订单id 参数来请求接口数据时,会获取到不属于他的数据,这就产生了越权。
解决办法: 根据订单id 查询到对应的user_id 对当前登录用户的id 和查询到的user_id 进行一致性判断,如果不一致,则返回操作越权。
示例代码:
public function orderAuth($order_id){
$userInfo = new User();
$user_id = Order::where('id',$order_id)
->value('uid');
if($userInfo->id !== $user_id){
throw new \Exception('越权行为');
}
}
$this->orderAuth($order_id);//验证授权
相关文章
- 进程调度策略
- 虹科分享 | 网络仿真器 | 缓解远程员工绩效问题的 5 个简单步骤
- 内存溢出、内存泄露、野指针、空指针
- 给你的眼睛也放个假
- 一文吃透哈希
- 线程交替打印
- 今天给大家推荐的是一款非常强大的开源堡垒机,JumpServer
- 我是没想到这个公司的笔试编程题这么难
- java解释器虚拟机-java 虚拟机内存/线程共享情况
- 为什么time_wait状态默认是2MSL
- 3d打相机-创想三维:3D扫描在3D打印机上的运用
- 字节一道笔试题记录
- css易忘知识点换行
- java解释器虚拟机-Java代码如何运行在Java虚拟机中
- java解释器虚拟机-【Java解释器和编译器】解释器和编译器的深入理解
- 软链接和硬链接
- c语言之父是谁-第一章 C语言概述 - 1.2 C语言的前世今生?
- Spring Boot3.0升级,踩坑之旅,附解决方案(二)
- ES6中Promise简单记一下笔记
- 腾讯9.5第二批后端笔试牛客大佬全AC记录