build: 修复编译失败的问题

This commit is contained in:
xucun
2026-04-27 17:39:03 +08:00
parent 226fdcac2b
commit 2fbfe133db
7 changed files with 128 additions and 141 deletions

View File

@@ -23,7 +23,7 @@ WORKDIR /
EXPOSE 9999
# 添加执行jar包
ADD daxpay-open-server/target/daxpay-open-server.jar daxpay-server.jar
ADD ./daxpay-open-client/target/daxpay-open-server.jar daxpay-server.jar
# 执行启动命令
CMD java $JAVA_OPTS -jar daxpay-server.jar

View File

@@ -1,137 +0,0 @@
package cn.bootx.platform.core.util;
import cn.bootx.platform.core.exception.DangerSqlException;
import lombok.experimental.UtilityClass;
import lombok.extern.slf4j.Slf4j;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* sql注入处理工具类 参考自 Jeecg Boot
*
* @author zhoujf
*/
@Slf4j
@UtilityClass
public class SqlInjectionUtil {
private final String XSS_STR = "and |extractvalue|updatexml|geohash|gtid_subset|gtid_subtract|exec |insert |select |delete |update |drop |count |chr |mid |master |truncate |char |declare |;|or |+|user()";
/**
* 正则 user() 匹配更严谨
*/
private final String REGULAR_EXPRE_USER = "user[\\s]*\\([\\s]*\\)";
/** 正则 show tables */
private final String SHOW_TABLES = "show\\s+tables";
/**
* sql注释的正则
*/
private final Pattern SQL_ANNOTATION = Pattern.compile("/\\*[\\s\\S]*\\*/");
/**
* sql注入过滤处理遇到注入关键字抛异常
*/
public void filterContent(String value) {
filterContent(value, null);
}
/**
* sql注入过滤处理遇到注入关键字抛异常
*
*/
public void filterContent(String value, String customXssString) {
if (value == null || value.isEmpty()) {
return;
}
// 校验sql注释 不允许有sql注释
checkSqlAnnotation(value);
// 统一转为小写
value = value.toLowerCase();
// SQL注入检测存在绕过风险
String[] xssArr = XSS_STR.split("\\|");
for (String s : xssArr) {
if (value.contains(s)) {
log.error("请注意存在SQL注入关键词---> {}", s);
log.error("请注意值可能存在SQL注入风险!---> {}", value);
throw new DangerSqlException("请注意值可能存在SQL注入风险!--->" + value);
}
}
// 除了XSS_STR这些提前设置好的还需要额外的校验比如 单引号
if (customXssString != null) {
String[] xssArr2 = customXssString.split("\\|");
for (String s : xssArr2) {
if (value.contains(s)) {
log.error("请注意存在SQL注入关键词---> {}", s);
log.error("请注意值可能存在SQL注入风险!---> {}", value);
throw new DangerSqlException("请注意值可能存在SQL注入风险!--->" + value);
}
}
}
// 除了XSS_STR这些提前设置好的还需要额外的校验比如 单引号
if (Pattern.matches(SHOW_TABLES, value) || Pattern.matches(REGULAR_EXPRE_USER, value)) {
throw new DangerSqlException("请注意值可能存在SQL注入风险!--->" + value);
}
}
/**
* sql注入过滤处理遇到注入关键字抛异常
*/
public void filterContent(String[] values) {
filterContent(values, null);
}
/**
* sql注入过滤处理遇到注入关键字抛异常
*/
public void filterContent(String[] values, String customXssString) {
String[] xssArr = XSS_STR.split("\\|");
for (String value : values) {
if (value == null || value.isEmpty()) {
return;
}
// 校验sql注释 不允许有sql注释
checkSqlAnnotation(value);
// 统一转为小写
value = value.toLowerCase();
for (String s : xssArr) {
if (value.contains(s)) {
log.error("请注意存在SQL注入关键词---> {}", s);
log.error("请注意值可能存在SQL注入风险!---> {}", value);
throw new DangerSqlException("请注意值可能存在SQL注入风险!--->" + value);
}
}
// 除了XSS_STR这些提前设置好的还需要额外的校验比如 单引号
if (customXssString != null) {
String[] xssArr2 = customXssString.split("\\|");
for (String s : xssArr2) {
if (value.contains(s)) {
log.error("请注意存在SQL注入关键词---> {}", s);
log.error("请注意值可能存在SQL注入风险!---> {}", value);
throw new DangerSqlException("请注意值可能存在SQL注入风险!--->" + value);
}
}
}
// 除了XSS_STR这些提前设置好的还需要额外的校验比如 单引号
if (Pattern.matches(SHOW_TABLES, value) || Pattern.matches(REGULAR_EXPRE_USER, value)) {
throw new DangerSqlException("请注意值可能存在SQL注入风险!--->" + value);
}
}
}
/**
* 校验是否有sql注释
*/
public void checkSqlAnnotation(String str) {
Matcher matcher = SQL_ANNOTATION.matcher(str);
if (matcher.find()) {
String error = "请注意值可能存在SQL注入风险---> \\*.*\\";
log.error(error);
throw new DangerSqlException(error);
}
}
}

View File

@@ -65,6 +65,23 @@
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>${lombok-mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>

View File

@@ -74,6 +74,31 @@
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>${lombok-mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- 打包Excel等资源文件损坏问题 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>

View File

@@ -15,16 +15,21 @@
<description>启动端</description>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<java.version>21</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<lombok.version>1.18.36</lombok.version>
<bootx-platform.version>3.1.1</bootx-platform.version>
<daxpay.version>3.1.1</daxpay.version>
<minio.version>8.5.2</minio.version>
</properties>
<dependencies>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<!-- web框架 -->
<dependency>
<groupId>org.springframework.boot</groupId>
@@ -69,6 +74,21 @@
<build>
<finalName>daxpay-open-server</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- spring-boot -->
<plugin>
<groupId>org.springframework.boot</groupId>

View File

@@ -140,6 +140,31 @@
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>${lombok-mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- 打包Excel等资源文件损坏问题 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>

37
pom.xml
View File

@@ -18,9 +18,46 @@
<module>daxpay-open-client</module>
<module>daxpay-open-sdk</module>
</modules>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<lombok.version>1.18.36</lombok.version>
<mapstruct.version>1.5.5.Final</mapstruct.version>
<lombok-mapstruct.version>0.2.0</lombok-mapstruct.version>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.0</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>${lombok-mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>