官网地址:https://github.com/ESAPI/esapi-java-legacy
一、POM依赖
<dependency><groupId>org.owasp.esapi</groupId><artifactId>esapi</artifactId><version>2.6.0.0</version> <!-- Preferably the latest version, but > 2.5.3.0 --><classifier>jakarta</classifier><!-- 如果项目中没有引入其他日志框架,可以不排除 --><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId></exclusion></exclusions>
</dependency>
二、ESAPI配置文件
这里需要连两个文件ESAPI.properties
和validation.properties
请参阅 https://mvnrepository.com/artifact/org.owasp.esapi/esapi/latest,选项卡 无论您使用什么构建工具。如果您需要 Jakarta 版本,请确保 加
<classifier>jakarta</classifier>
并包含您正在使用的任何 jakara.servlet:jakarta.servlet-api
版本
<scope>provided</scope>
第 2 步:获取 2 个属性文件 ESAPI.properties
和 validation.properties
从您正在使用的 ESAPI 发行版中下载这两个文件 https://github.com/ESAPI/esapi-java-legacy/releases 并下载 esapi--configuration.jar
文件(如果您希望确认 GPG 签名,则下载 .asc 文件)。
解压缩您刚刚下载的配置文件并找到 2 个属性文件,复制 2 个属性 文件从 configuration/esapi
目录复制到 /src/main/resource
三、配置文件放置位置
如果我们对配置文件路径没有自定义配置,那么ESAPI会从默认路径中读取配置文件。
默认路径如下:
- esapi.jar路径:Not found in ‘org.owasp.esapi.resources’ directory or file not readable
- 系统资源路径: Not found in SystemResource Directory/resourceDirectory: .esapi\validation.properties
- 系统user.name目录: Not found in ‘user.home’ (C:\Users\myhome) directory: C:\Users\myhome\esapi\validation.properties
自定义配置文件路径:
启动类的main方法中添加
// 确保加载配置
ESAPI.securityConfiguration().setResourceDirectory("src/main/resources");
测试
import org.owasp.esapi.ESAPI;
import org.owasp.esapi.Encoder;public class SecurityExample {public static void main(String[] args) {Encoder encoder = ESAPI.encoder();String userInput = "<script>alert('XSS');</script>";String safeOutput = encoder.encodeForHTML(userInput);System.out.println(safeOutput); // 输出: <script>alert('XSS');</script>}
}
至此:我们就可以把ESAPI的配置文件放到项目/src/main/resource
目录下,并打入jar、war包了
参考文章:https://www.cnblogs.com/xuchen0117/p/14760935.html
老版本:https://blog.csdn.net/suolongdse/article/details/115733940