文档章节

在JAVA项目中关于XSS处理

程缘落笔
 程缘落笔
发布于 2017/05/24 10:21
字数 217
阅读 15
收藏 0

1.使用Spring MVC框架,继承BaseController时:

    /**
	 * 初始化数据绑定
	 * 1. 将所有传递进来的String进行HTML编码,防止XSS攻击
	 * 2. 将字段中Date类型转换为String类型
	 */
	@InitBinder
	protected void initBinder(WebDataBinder binder) {
		// String类型转换,将所有传递进来的String进行HTML编码,防止XSS攻击
		binder.registerCustomEditor(String.class, new PropertyEditorSupport() {
			@Override
			public void setAsText(String text) {
				setValue(text == null ? null : StringEscapeUtils.escapeHtml4(text.trim()));
			}
			@Override
			public String getAsText() {
				Object value = getValue();
				return value != null ? value.toString() : "";
			}
		});
		// Date 类型转换
		binder.registerCustomEditor(Date.class, new PropertyEditorSupport() {
			@Override
			public void setAsText(String text) {
				setValue(DateUtils.parseDate(text));
			}
		});
	}

2.强转

public static void  xmlSpecialCharConvert(Map<String,Object> map){
	String[] charArray = new String[]{"&","'","\"",">","<",""};	
	String[] convertArray = new String[]{"&amp;","&apos;","&quot;","&gt;","&lt;",""};	
	if(MapUtils.isNotEmpty(map)){
		Set<String> keys = map.keySet();
		for (String key : keys) {
			Object obj  = map.get(key);
			if(obj!=null && obj instanceof String){
				String str = ObjectUtils.toString(obj);
		        map.put(key,org.apache.commons.lang3.StringUtils.replaceEach(str, charArray, convertArray));
			}
		}
	}
}
public static void  xmlSpecialCharConvert(List<Map<String,Object>>... lists){
	for (List<Map<String, Object>> list : lists) {
		for (Map<String, Object> map : list) {
			xmlSpecialCharConvert(map);
		}
	}
 }

 

© 著作权归作者所有

共有 人打赏支持
程缘落笔
粉丝 2
博文 14
码字总数 3311
作品 0
广州
后端工程师
xms/xmx/xss在kette中的调优设置

kettle是使用java开发的,主要运行在jvm上,这样它的执行效率就和jvm的调优有关了,我在平时的使用中,主要是用kitchen.sh(其实其它的.sh也是一样的),在默认的情况下内存的使用配置是这样的...

sucre
2015/03/26
0
0
discuz x2.5论坛和其他系统整合反向数据同步问题

最近给客户做一个手机应用,同时需要搭建一个discuz论坛,给用户交流使用。 目前我们称手机应用项目为:java项目,称论坛为discuz项目。 现在客户的需求是主要下面几点: 1.用户使用手机注册...

度外网络
2012/10/13
0
0
My java——JVM(内存)二

续 My java——JVM(java 虚拟机)一 http://my.oschina.net/mynote/blog/113572 这里继续对java做深入的理解。 从(一)中说明了JVM就等同于操作系统,我们在学习操作系统的时候就会理解内存...

tngou
2013/03/14
0
0
Java的OutOfMemoryError和StackOverflowError

Java的OutOfMemoryError和StackOverflowError Java Virtual Machine定义了两种异常:OutOfMemoryError与StackOverflowError。 OutOfMemoryError:Java启动一个线程时,JVM没有足够的内存空间...

开开心心过
2017/10/16
0
0
【转】Java虚拟机(JVM)中的内存设置详解

在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。 PermGen space:全称是Permanent Generation space.就是说是永久保...

mj4738
2011/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
4
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部