ESAPI是一个免费、开源的Web应用程序安全控制组件,在JavaWeb应用中可帮助开发人员降低应用的风险。 ESAPI是OWASP组织的一个开源项目
主页是: http://www.owasp.org/index.php/ESAPI
介 绍 :http://owasp-esapi-java.googlecode.com/files/OWASP%20ESAPI.ppt
下载地址是:https://code.google.com/p/owasp-esapi-java/downloads/list
ESAPI很适合一个新的开发项目的安全组件,各版本的ESAPI包含如下基本设计:
1.具有一个安全接口集;
2.对每一种安全控制有一种参考实现;
3.对每一种安全控制可以有你自己的实现方法。
很多著名的大公司开始将ESAPI作为自己保障Web应用程序安全的手段,包括美国运通公司,Apache基金会,世界银行等。
ESAPI对常见安全漏洞都提供对应的安全控制实现方法: ESAPI使用示例: 使用ESAPI防止XSS的做法: String safe = ESAPI.encoder().encodeForHTML( request.getParameter( "input" ) ); 对用户输入“input”进行HTML编码,防止XSS。
System.out.println(ESAPI.encoder().encodeForHTML("<a href='sdfs'></a> < script > alert(); </ script >" ));
输出的结果
<a href='sdfs'></a> < script > alert(); </ script >
使用ESAPI防止ORACLE数据库SQL注入的做法:
String sqlStr=“select name from tableA where id=”+
ESAPI.encoder().encodeForSQL(ORACLE_CODEC,validatedUserId)
+“and date_created”='“
+ ESAPI.encoder()。encodeForSQL(ORACLE_CODEC,validatedStartDate)+"'";
myStmt = conn.createStatement(sqlStr);
补充: XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。
相关推荐
ESAPI for Java 是一种强大的工具,能够帮助开发者有效地提升应用程序的安全性。通过使用ESAPI,开发者可以轻松地应对常见的安全挑战,同时也可以通过自定义实现满足特定场景下的需求。对于任何希望提高软件安全性的...
ESAPI是一个开源的安全库,旨在为Java应用程序提供统一的、易于使用的安全功能。它由OWASP(开放网络应用安全项目)维护,旨在解决常见的Web应用安全问题,包括SQL注入、XSS跨站脚本等。ESAPI提供了一套完整的API,...
OpenGL ES(OpenGL for Embedded Systems)是OpenGL的一个精简版本,专为嵌入式设备,特别是移动设备如智能手机和平板电脑设计。它是一个图形库,允许开发者在这些平台上创建2D和3D图形应用。OpenGLES是Android系统...
ArcObject 10.3.1 For Java 对象模型(ODM)是Esri的ArcGIS平台中的核心组件集合,适用于ArcGIS Engine、ArcGIS Desktop插件以及ArcGIS Server服务扩展(SOE)的开发。这个对象模型图详细定义了不同类之间的关系,...
在本篇【ES学习之javaAPI实操演示】中,我们将深入探讨如何使用Java API与Elasticsearch(ES)进行交互。Elasticsearch是一个流行的、分布式、实时的搜索和分析引擎,广泛应用于日志分析、信息检索、全文搜索等领域...
OpenGL ES(OpenGL for Embedded Systems)是OpenGL的嵌入式版本,广泛用于移动设备和游戏机的图形渲染。在Android中,OpenGL ES允许开发者创建高性能的2D和3D图形,而Vulkan则是一个现代的图形API,旨在提高多线程...
内容概要:本文深入探讨了JavaEE框架在企业级应用开发中的应用,涵盖框架的核心组件和技术(如Spring、Struts、Hibernate),推荐实用的开源项目(如javaEEScaffold、ESAPI for Java),学习资料和在线资源。...
Android SDK提供了一套用于与OpenGL ES交互的Java API,包括GLSurfaceView组件、EGL上下文管理、GLSurfaceView.Renderer接口等,使开发者可以在Android应用中轻松地使用OpenGL ES。 3. **JNI**: JNI是Java平台的...
Elasticsearch 5.5版本的Java客户端开发涉及多个jar包,这些jar包包含了与ES服务器通信的所有必要组件。以下是其中可能包含的一些核心jar包及其功能: 1. **elasticsearch**: 这是Elasticsearch的核心库,包含所有...
在Java中实现游戏渲染引擎,开发者通常会利用Android提供的OpenGL ES(OpenGL for Embedded Systems)API,这是一个轻量级的3D图形库,特别适合移动设备。OpenGL ES支持顶点数组、纹理映射、深度测试等功能,使得...
`Future`和`Callable`是Java中实现异步任务的基础组件之一。`Callable`是一个可以返回结果的接口,而`Future`则是用于获取这些结果的接口。 #### 示例代码解析 ```java //示例一 int threadNum = 3; List...
Java JOGL (Java Bindings for OpenGL) 是一个用于在Java平台上使用OpenGL图形库的接口,它使得Java开发者能够利用OpenGL的强大功能进行3D图形编程。OpenGL是一个广泛应用的跨语言、跨平台的图形API,用于渲染2D、3D...
现代的API,如Fetch API,已经逐渐取代了传统的XMLHttpRequest。 ECMAScript,作为JavaScript的标准,每几年会发布一个新的版本,带来新的特性和改进。例如,ES6(也称为ES2015)引入了类、模板字符串、解构赋值、...
OpenGL ES是Open Graphics Library for Embedded Systems的缩写,即为嵌入式系统设计的开放图形库,它是OpenGL的简化版本,专为移动设备和嵌入式系统提供3D图形功能。OpenGL ES是在OpenGL的基础上发展而来,保留了...
在Android平台上,OpenGLES(OpenGL for Embedded Systems)是一种用于渲染2D和3D图形的API,特别适用于移动设备。OpenGLES 2.0版本引入了着色器语言(GLSL),使得开发者能够利用GPU的强大计算能力来处理复杂的图像...
JDBC驱动是Java平台上的一个重要组件,它为各种数据库提供了统一的接口,使得开发者无需关心底层数据库系统的具体细节,只需通过标准的JDBC API即可进行数据操作。 Kingbase_v8_R3是人大金仓数据库的一个版本,R3...
总之,精通JavaScript需要不断实践和学习,通过理解语言基础、熟悉Web API、掌握相关框架,并紧跟技术发展,如ES新特性、WebAssembly等,以保持与时俱进。对于初学者,可以从解析“Java Script .rar”中的文件开始,...
10. `slf4j-api-1.7.10.jar` - Simple Logging Facade for Java,另一个日志框架接口,提供统一的日志API。 这些库的组合表明,这个插件可能通过Apache HttpClient和腾讯云COS SDK来实现Elasticsearch与COS之间的...
MyGLSurfaceView.java文件是安卓开发中一个非常重要的组件,它继承自GLSurfaceView类,专门用于创建一个表面,使得OpenGL ES可以在上面进行绘制。GLSurfaceView提供了一个专门用于渲染操作的视图,它管理着一个渲染...