-
java 防止 XSS 攻击的常用方法总结.
在前面的一篇文章中,讲到了java web应用程序防止 csrf 攻击的方法,参考这里 java网页程序采用 spring 防止 csrf 攻击. ,但这只是攻击的一种方式,还有其他方式,比如今天要记录的 XSS 攻击, XSS 攻击的专业解释,可以在网上搜索一下,参考百度百科的解释 http://baike.baidu.com/view/2161269.htm, 但在实际的应用中如何去防止这种攻击呢,下面给出几种办法.1. 自己写 filter 拦截来实现,但要注意的时,在WEB.XML 中配置 filter 的时候,请将这个 filter 放在第一位.2. 采用开源的实现 ESAPI library ,参考网址: https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API3. 可以采用spring 里面提供的工具类来实现.
Date: 2013-10-24 View: 15755
-
java网页程序采用 spring 防止 csrf 攻击.
经常开发银行的应用,在安全性方面要求比较高,在安全性保护方面,csrf 攻击是必须测试的项目之一,关于什么是 csrf 攻击,我不想多做解释,网上已经介绍够多了,可以参看 IBM Developer works 的文章 http://www.ibm.com/developerworks/cn/web/1102_niugang_csrf/ 这篇文章介绍了 csrf 的危害和一般解决办法,在实际开发过程中,有一些参考价值。但事实上在我经历过的银行项目开发过程中,基本都会采用 spring 框架,所以完全可以不用自己开发 filter 去拦截 csrf 攻击的请求,而直接采用实现 spring 提供的 HandlerInterceptor 来实现。 从本质上来说,这也是一个 filter. 我这里就直接实现它来 防止 csrf 攻击.
Date: 2013-10-22 View: 8317
-
java 计算瑞年的方法
任何语言都有可能计算某一年是否为瑞年的方法,也就是说一年有 366 天,每隔4 年就出现一次。最基本的算法如下:代码片段, 请查看文章详情 ...
Date: 2013-10-20 View: 3016
-
java 任意两个时间差,天数,小时数,分钟数,秒数
在java 编程中,不可避免用到计算时间差。前面我写过几篇文章,关于java 时间计算的,还有timezone 转换的文章,但没有这么具体到相差到天数,小时,分钟,秒数都列出来的情况,所以这里再总结下。1. 用JDK 自带API 实现。2.利用 joda time library 来实现.
Date: 2013-10-17 View: 6824
-
Hibernate保存图片 文件 到数据库
为了在数据库中保存文件,需要在数据库中定义二进制指端blob. 有的数据库也有 image 类型也可以。在hibernate 实体类 这一边, 定义 类型为 byte[] 就可以。做一个简单的例子测试
Date: 2013-10-15 View: 3487
-
封装 sqlserver2005 以上的 hibernate 方言 Dialect
在数据库的查询中,分页是必不可少的。在很久以前用 sqlserver 2000 的时候,经常用内存分页或者存储过程分页。但内存分页效率实在很低,而且只适合数据量小的情况 。 从sqlserver 2005 以上,分页查询就好做很多,提供了一个row_number, 这个做分页比较好用。当然你仍然可以利用存储过程,写一个公用的分页存储过程。具体我就不写了,原理很简单,传入要查询的SQL 语句,得到所有数据,根据PAGE SIZE 计算ROW_NUMBER, 然后再包装一个SQL语句就可以了。但这里是用Hibernate做,所以直接实现Hibernate Dialect 方言比较好
Date: 2013-10-14 View: 3427
-
Spring mvc 异常处理 例子
异常处理,在程序开发过程中,是个很重要的部分,能处理的异常我们自己处理,否则抛出来,如果用spring mvc 最终是抛到 controller 层。所以 spring mvc 的异常处理统一在controller 处理。在 spring 3.0 以上,提供了 @ExceptionHandler 这个class 去处理异常. 下面记录 spring mvc 异常处理常用方法
Date: 2013-10-08 View: 4185
-
简单方法合并两个java list
下面的例子讲了如何合并两个java list, 用简单的方法,而不用自己去造轮子,循环list 去做,用如下建档方法
Date: 2013-10-08 View: 14488
-
简单的java性能调试方法
在没有三方工具的情况下,如何对java程序进行性能调优呢?答案很简单,利用操作系统提供的一些功能和jdk自带的一些工具,就可以完成一些基本的性能调优,比如,在linux 下,可以用 top,sar, vmstat 命令查看一些进程,内存以及cpu的信息。当然window 下也有相应的东西,比如任务管理器,性能监控工具。这里主要讲一次window下的调优。
Date: 2013-10-06 View: 2609
-
java servlet 用firefox下载文件,文件名有空格的问题
下载文件,貌似是个很简单的活,最基本的方法有两种,一种是根据文件路径,直接下载。这种方法给一个url链接就可以了,或者是查询到路径,重定向就可以解决。另外一种情况是 通过文件流方式下载,这就是我想说的问题, 在这种情况下,如果你给下载的文件名中间有空格分隔的话,在firefox 下是会出问题的。也就是文件名被split 了,根据空格split 掉了。所以要经过一点点小的处理才能完整下载。
Date: 2013-09-24 View: 4066
-
用maven 创建基于spring的可执行的jar
在工作中,常常用到用maven 去创建j可执行的jar 文件,当然这会用到maven的插件.maven-assembly-plugin ,在通常的情况下,这是一个简单的好用的插件,但是一旦我们的工程中使用了spring 相关的一些jar 包,这时候问题就出现了; 通常的错误如下:Unable to create application context: Unable to locate Spring NamespaceHandler
Date: 2013-09-09 View: 5818
-
SPRING MVC 结合jquery autocomplete 与 json 的例子
autocomplete 是一个很不错的WEB展现,幸运的是jquery 已经提供了这样的一个插件. 应该包含在jquery UI 中。在用搜索引擎的时候,比如,百度,谷歌,当我们输入一些要查询的内容的时候,会自动出现一些相关的东西,这就是autocomplete. 其实应该是不难的。先自己想想,在没有任何插件的情况下,一般是这样完成的,根据输入的内容,发送AJAX请求到后台,然后返回内容,在前台用DIV 展示。基本就是这样,当然有很多细节要处理。这里讲一个简单的例子
Date: 2013-08-25 View: 3960
-
在JSP中如果很长的网址怎么缩短呢
在展示层,如果用jsp,jstl来呈现给客户的话,在有的情况下,输出的URL 会很长,看起来很不输入,那么有没有方法,将这个URL 缩短呢,这里的缩短,不是指现在流行的短网址。如何实现呢。
Date: 2013-08-25 View: 2431
-
在spring service 层中使用多种validator
用spring mvc 开发应用程序,一般会在controller层中配置validator 进行数据校验,但这种情况只适合用于只有一种固定的校验方式,但实际上,校验可能是很灵活的,比如一个单据,在保存提交的时候,单据相关的内容的校验是一种方案,一旦保存成功,就多了单号,然后可能是另外一种校验方案,可能这个例子不是很恰当,但一个中心思想就是,在同一个实体类上的校验,可能存在多种规则,需要选择那一种规则,由程序员自己决定:
Date: 2013-08-15 View: 7436
-
java 判断数组中是否存在某个数的方法
在java中判断某个数是否在数组中存在,一般的方法,估计就是使用循环,比较,然后得到结果。但起始还有更简洁的方法,那就是调用Arrays.binarySearch 方法,但是在调用这个方法之前,一定记得要调用 Arrays.sort 先对数组进行排序
Date: 2013-08-07 View: 4045