ESAPI入门指南
1. ESAPI介绍
OWASP® ESAPI(OWASP 企业安全 API)是一个免费的开源 Web 应用程序安全控制库,可帮助程序员更轻松地编写低风险应用程序。ESAPI for Java 库旨在帮助程序员更轻松地将安全性改进到现有应用程序中。ESAPI for Java 也为新开发奠定了坚实的基础。
官方Github https://github.com/ESAPI/esapi-java-legacy
2. 环境搭建
搭建环境
- jdk-17.0.16 JDK版本对ESAPI有影响
 - esapi 2.7.0.0
 
pom.xml
1  | <dependencies>  | 
从 https://github.com/ESAPI/esapi-java-legacy/releases 下载最新版本的configuration.jar,解压configuration\esapi\目录下的ESAPI.properties,validation.properties;随后放在项目的resources目录下
也可以手动指定esapi所用的resource目录
1  | static {  | 
3. 代码示例
3.1 对字符串进行编码
1  | String input = "<a href='lrui1'></a> < script > alert('xss'); </ script >";  | 
3.2 对邮箱进行验证
1  | String input = "xxx@gmail.com";  | 
3.3 ESAPI.validator().isValidInput
方法签名
1  | boolean isValidInput(String context, String input, String type, int maxLength, boolean allowNull) throws IntrusionException;  | 
方法参数简介
1  | context – 用于描述您正在验证的参数的名称(例如,"LoginPage_UsernameField")。此值将用于记录或处理与传入值相关的任何日志或错误处理。  | 
4. 参考链接
一文详解应用安全防护ESAPI - 华为云开发者联盟 - 博客园
Add support for Jakarta Servlet API Specification · ESAPI/esapi-java-legacy · Discussion #768
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 lrui1!