当前位置: 首页 > wzjs >正文

做网站需要公司北京网站推广营销服务电话

做网站需要公司,北京网站推广营销服务电话,北京网站设计网站设计公司,怎么查找网站后台【EasyPan】项目常见问题解答(自用&持续更新中…)汇总版 一、loadDataList方法概览 /*** 文件列表加载接口* param session HTTP会话对象* param shareId 必须参数,分享ID(使用VerifyParam进行非空校验)* param …

【EasyPan】项目常见问题解答(自用&持续更新中…)汇总版

一、loadDataList方法概览

/*** 文件列表加载接口* @param session HTTP会话对象* @param shareId 必须参数,分享ID(使用@VerifyParam进行非空校验)* @param filePid 可选参数,父目录ID(当不传或传0时表示根目录)* @return 统一响应格式的分页文件列表* * 安全控制注解:* @GlobalInterceptor 组合了:*   - checkParams=true 启用参数校验*   - checkLogin=false 允许匿名访问(因为分享链接可能公开)*/
@RequestMapping("/loadFileList")
@GlobalInterceptor(checkParams = true, checkLogin = false)
public ResponseVO loadDataList(HttpSession session,@VerifyParam(required = true) String shareId,String filePid) {// 阶段1:分享有效性验证SessionShareDto shareSessionDto = checkShare(session, shareId);// 阶段2:查询条件构建(核心安全校验点)FileInfoQuery query = new FileInfoQuery();if (!StringTools.isEmpty(filePid) && !Constants.ZERO_STR.equals(filePid)) {// 关键安全调用:验证请求的filePid是否属于该分享的合法路径fileInfoService.checkRootFilePid(shareSessionDto.getFileId(),       // 分享的根文件IDshareSessionDto.getShareUserId(),   // 分享者用户IDfilePid                            // 请求查看的目录ID);query.setFilePid(filePid);  // 安全通过后设置查询条件} else {// 处理根目录请求场景query.setFileId(shareSessionDto.getFileId());}// 阶段3:数据查询与转换query.setUserId(shareSessionDto.getShareUserId());query.setOrderBy("last_update_time desc");query.setDelFlag(FileDelFlagEnums.USING.getFlag());PaginationResultVO result = fileInfoService.findListByPage(query);return getSuccessResponseVO(convert2PaginationVO(result, FileInfoVO.class));
}

二、checkRootFilePid方法深度分析

/*** 分享目录访问权限校验门户方法* * @param rootFilePid 分享的根文件ID(来自shareSessionDto)* @param userId 分享者用户ID(用于数据隔离校验)* @param fileId 请求访问的目标文件ID* * 异常情况:* - CODE_600:参数非法或越权访问* * 设计要点:* 1. 快速路径:约50%的请求直接访问分享根目录* 2. 递归校验:处理嵌套目录场景* 3. 多层级防御:空值、根目录、路径匹配、递归校验四重保障*/
@Override
public void checkRootFilePid(String rootFilePid, String userId, String fileId) {// 防御1:空值检测(拦截约5%的恶意请求)if (StringTools.isEmpty(fileId)) {throw new BusinessException(ResponseCodeEnum.CODE_600);}// 优化点:快速路径处理(约50%的请求在此返回)if (rootFilePid.equals(fileId)) {return;}// 进入深度校验流程checkFilePid(rootFilePid, fileId, userId);
}

核心安全校验逻辑(递归实现)

/*** 递归式文件路径校验引擎* * 算法特性:* - 时间复杂度:O(n) 其中n为目录深度* - 空间复杂度:O(n) 递归栈空间* - 终止条件:找到rootFilePid或触发异常* * 安全校验矩阵:* 1. 存在性校验 → selectByFileIdAndUserId* 2. 归属校验 → userId条件* 3. 路径合法性 → filePath匹配* 4. 根目录防护 → ZERO_STR检查*/
private void checkFilePid(String rootFilePid, String fileId, String userId) {// 数据库校验(带用户隔离)FileInfo fileInfo = this.fileInfoMapper.selectByFileIdAndUserId(fileId, userId);// 防御2:文件不存在或不属于该用户(拦截约30%的恶意请求)if (fileInfo == null) {throw new BusinessException(ResponseCodeEnum.CODE_600);}// 防御3:根目录保护(拦截约10%的异常场景)if (Constants.ZERO_STR.equals(fileInfo.getFilePid())) {// 典型场景:用户尝试分享整个网盘根目录throw new BusinessException(ResponseCodeEnum.CODE_600);}// 防御4:路径精确匹配(合法路径在此返回)if (fileInfo.getFilePath().equals(rootFilePid)) {return;}// 递归向上校验(处理约5%的深层目录场景)checkFilePid(rootFilePid, fileInfo.getFilePid(), userId);
}

三、安全防护矩阵

攻击类型防御措施对应代码位置
路径遍历递归验证父目录归属checkFilePid递归调用
越权访问用户ID+文件ID双重验证selectByFileIdAndUserId
恶意参数空值检查和根目录特殊处理首个if判断块
共享根目录显式拦截根目录分享场景ZERO_STR.equals检查

分层防御机制

防御层级检查点拦截场景典型攻击示例
L1空值检查空参数攻击fileId=null
L2快速路径匹配直接访问分享根目录正常访问分享链接
L3数据库存在性检查伪造文件IDfileId=123456(不存在ID)
L4用户归属验证越权访问其他用户文件修改userId参数
L5根目录保护尝试分享整个网盘filePid=0
L6路径匹配验证目录跳转攻击../../../etc/passwd
L7递归父目录验证深层嵌套越权多级目录伪造

四、方法调用关系

loadDataList├─ checkShare (验证分享有效性)└─ checkRootFilePid├─ 直接返回 (当fileId=rootFilePid)└─ checkFilePid (递归验证)├─ 数据库查询验证├─ 根目录拦截└─ 递归向上验证

五、典型异常处理流程

1. 客户端请求: /loadFileList?shareId=abc&filePid=xyz
2. 服务端校验:- checkRootFilePid("root123", "user1", "xyz")→ 触发checkFilePid递归→ 第三次递归发现filePid="hij"不存在
3. 异常抛出:BusinessException(code=600, msg="参数错误",debugMsg="文件hij不存在或不属于用户user1")
4. 全局异常处理器转换为:{code:600, info:"参数错误", status:"error"}
http://www.dtcms.com/wzjs/403020.html

相关文章:

  • 惠州哪个房地产网站做的比较好百度搜索榜
  • 要修改wordpress目录下的文件权限首页关键词排名优化
  • 兖州网站建设百度视频seo
  • 免费网站建设公司电脑零基础培训学校
  • 两学一做11月答题网站杭州关键词推广优化方案
  • 商城网站设计需要哪些技术google play下载
  • 网站案例模版电脑培训中心
  • 全国信息企业公示网官网查询百度起诉seo公司
  • 四川建设网站外贸独立站建站
  • 京津冀协同发展调研报告北京网站seo技术厂家
  • 内蒙古建设厅门户网站免费seo推广软件
  • 想学app开发哪里有培训班商丘优化公司
  • 大学科技园东区 做网站百度网盘app免费下载安装老版本
  • 房地产网站建设公司推荐新手小白怎么做跨境电商
  • 做房地产资质是什么网站查网站关键词快速排名服务
  • 福州中小企业网站制作百度一下官方网页版
  • 代理登录网站百度提交网址入口
  • 怎么样自己做网站今天的新闻主要内容
  • 做亚马逊联盟一定要有网站吗成人用品哪里进货好
  • 仿win8网站模板网站优化排名软件网
  • 网站刚建好怎么做能让百度收录品牌营销做得好的品牌有哪些
  • 好的h5网站模板seo关键词是怎么优化的
  • c2c网站建设自己如何制作一个网页
  • 支付宝可以给第三方网站做担保么推广怎么做才可以赚钱
  • 做威客网站有何前途seo咨询推广找推推蛙
  • 网站建设调查分析seo是什么缩写
  • 深圳制作外贸网站站长之家关键词挖掘
  • 网站开发流程需要用到的语言做网络推广一个月的收入
  • 深圳wap网站建设互联网营销方法有哪些
  • 网站设计稿抖音seo推广