Java项目接口安全_ESAPI安全开发实战

本文介绍了ESAPI,一个免费的开源Web应用安全API,用于帮助开发者编写更安全的代码。通过在JAVAEE项目中引入esapi.jar和log4j.jar,可以利用ESAPI的Encode和Validator接口有效防范XSS跨站脚本攻击。如HTML编码器、HTML属性编码器、JavaScript编码器等,确保输出的安全性。
摘要由CSDN通过智能技术生成

ESAPI(Enterprise Security API)是一个免费开源的Web应用程序API,目的帮助开发者开发出更加安全的代码,并且它本身就很方便调用。

ESAPI 安装(JAVA)

下载 ESAPI 的 Jar包 和 源码。

下载 Log4j(一定要导入这个jar包,没有会报错的!)

JAVAEE项目中,将 esapi.jar 和 log4j.jar 放到 WEB-INF 下的 lib 目录里面。

ESAPI 防护XSS跨站脚本攻击

ESAPI提供了两个相关接口 Encode、Validator 来防护XSS攻击。

Encode接口

Encode(编码器接口)包含了许多解码输入和编码输出的方法,这样处理过的字符对于各种解释器都是安全的。

ESAPI根据XSS问题的特征和产生的原因,提供了不同的接口:

HTML编码器(encodeForHTML)

alert('xss')";

HTML属性编码器(encodeForHTMLAttribute)

p

<%=ESAPI.encoder().encodeForHTMLAttribute(%20%20img_src%20%20)%20%>

// out

script><img%20src=%22

JavaScript编码器(encoderForJavaScript)

var searchValue = ;

CSS编码器(encoderForCSS)

String safe_css = ESAPI.encoder().encoderForCSS( css );

URL编码器(encodeForURL)

String safe_url = ESAPI.encoder().encodeForURL("/?callback=");

VBScript编码器(encodeForVBScript)

String vb = ESAPI.encoder().encodeForVBScript("add(1)");

复合(嵌套)编码器

var vDiv= document.createElement('div');

vDiv.innerHTML ="";

document.body.appendChild(vDiv);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值