fix: 防止HTML注入(用户姓名中的 · ),对用户输入姓名进行转义处理
- 在AccountDTO中对doctorName字段进行HTML转义处理 - 在ConDoctorDTO中对doctorName字段进行HTML转义处理 - 在ConEvaluateDTO中对userName和expertName字段进行HTML转义处理 - 在ConHealthInfoAnswerDTO中对fromName字段进行HTML转义处理 - 在ConHelperDTO中对userName字段进行HTML转义处理 - 在ConSessionDTO中对fromName和doctorName字段进行HTML转义处理 - 在CallLogDTO中对realName字段进行HTML转义处理 - 在PhoneListDTO中对realName字段进行HTML转义处理 - 在TblQimoNoticeDTO中对realName字段进行HTML转义处理 - 在EmergencyProfessionUserController中对name参数进行HTML转义处理 - 在OrderServiceImpl中对salvageUserName字段进行HTML转义处理 - 在AbnormalEventFilter中对userName字段进行HTML转义处理 - 在CalorieDataByUserDTO中对realName字段进行HTML转义处理 - 在WatchBindHisServiceImpl中对bindRealName字段进行HTML转义处理 - 在WatchDataServiceImpl中对username字段进行HTML转义处理 - 在WatchDeviceServiceImpl中对bindRealName字段进行HTML转义处理 - 在HealthUserEmployeeExController中对realname字段进行HTML转义处理 - 在SysUserController中对realname字段进行HTML转义处理 - 在SysUserDepartChangeApplyController中对userName参数进行HTML转义处理 - 在SelectWrapperDTO中对realName字段进行HTML转义处理 - 在SysBaseApiImpl中对username参数进行HTML转义处理 - 在SysUserServiceImpl中对name参数进行HTML转义处理
This commit is contained in:
+4
@@ -1,5 +1,6 @@
|
||||
package com.renkang.watch.bean.request;
|
||||
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@@ -19,6 +20,9 @@ public class AbnormalEventFilter {
|
||||
private String departOrgCode;
|
||||
// 用户名称
|
||||
private String userName;
|
||||
public void setUserName(String userName) {
|
||||
this.userName = userName != null ? HtmlUtil.unescape(userName) : null;
|
||||
}
|
||||
// 工具编码
|
||||
private String watchNo;
|
||||
//员工编号
|
||||
|
||||
+5
@@ -1,5 +1,6 @@
|
||||
package com.renkang.watch.dto;
|
||||
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
@@ -18,6 +19,10 @@ public class CalorieDataByUserDTO {
|
||||
private Integer pageSize = 10;
|
||||
@Schema(title = "用户姓名")
|
||||
private String realName;
|
||||
|
||||
public void setRealName(String realName) {
|
||||
this.realName = realName != null ? HtmlUtil.unescape(realName) : null;
|
||||
}
|
||||
@Schema(title = "工号")
|
||||
private String workNo;
|
||||
@Schema(title = "用户id组")
|
||||
|
||||
+3
@@ -3,6 +3,7 @@ package com.renkang.watch.service.impl;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -87,6 +88,7 @@ public class WatchBindHisServiceImpl extends ServiceImpl<WatchBindHisMapper, Wat
|
||||
@Override
|
||||
public IPage<WatchBindHisVo> queryPageList(IPage<WatchBindHisVo> page, WatchBindHisDTO dto) {
|
||||
if (StringUtils.hasLength(dto.getBindRealName())) {
|
||||
dto.setBindRealName(HtmlUtil.unescape(dto.getBindRealName()));
|
||||
List<String> userIdsByDepartAndUsername = watchCloudManager.getUserIdsByDepartAndUsername("", dto.getBindRealName(), "", "");
|
||||
if (CollectionUtil.isEmpty(userIdsByDepartAndUsername)) {
|
||||
return new Page<>();
|
||||
@@ -372,6 +374,7 @@ public class WatchBindHisServiceImpl extends ServiceImpl<WatchBindHisMapper, Wat
|
||||
String orgCode = StrUtil.isNotBlank(dto.getThirdDepart())?dto.getThirdDepart() : dto.getSecondDepart();
|
||||
List<String> userIds = new ArrayList<>();
|
||||
if (StrUtil.isNotBlank(dto.getBindRealName())) {
|
||||
dto.setBindRealName(HtmlUtil.unescape(dto.getBindRealName()));
|
||||
userIds = watchCloudManager.getUserIdsByDepartAndUsername("", dto.getBindRealName(), "", "");
|
||||
if (CollectionUtil.isEmpty(userIds)) {
|
||||
return new Page<>();
|
||||
|
||||
+4
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -104,6 +105,9 @@ public class WatchDataServiceImpl extends ServiceImpl<WatchDataMapper, WatchData
|
||||
}
|
||||
|
||||
String sql = QueryGenerator.installAuthJdbc(WatchData.class);
|
||||
if(StrUtil.isNotBlank(watchData.getUsername())){
|
||||
watchData.setUsername(HtmlUtil.unescape(watchData.getUsername()));
|
||||
}
|
||||
IPage<WatchData> pageList = watchDataMapper.pageCustom(page, watchData, sql);
|
||||
if (CollectionUtil.isNotEmpty(pageList.getRecords())) {
|
||||
List<LoginUserNew> loginUserNews = null;
|
||||
|
||||
+4
@@ -7,6 +7,7 @@ import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HtmlUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -167,6 +168,9 @@ public class WatchDeviceServiceImpl extends ServiceImpl<WatchDeviceMapper, Watch
|
||||
@Override
|
||||
public IPage<WatchDeviceVo> queryPageList(IPage<WatchDeviceVo> page, WatchDeviceDTO dto) {
|
||||
if (StrUtil.isNotBlank(dto.getBindRealName()) || StrUtil.isNotBlank(dto.getWorkNo())) {
|
||||
if(StrUtil.isNotBlank(dto.getBindRealName())){
|
||||
dto.setBindRealName(HtmlUtil.unescape(dto.getBindRealName()));
|
||||
}
|
||||
List<String> userIds = watchCloudManager.getUserIdsByDepartAndUsername("", dto.getBindRealName(), "", dto.getWorkNo());
|
||||
if (CollectionUtil.isEmpty(userIds)) {
|
||||
return new Page<>();
|
||||
|
||||
Reference in New Issue
Block a user