Java 安全问题修复

1 修复登录之后session id不改变的问题

public static void reGenerateSessionId(HttpServletRequest request){

HttpSession session=request.getSession();

Map<String,Object> tempMap= Maps.newConcurrentMap();

Enumeration<String> sessionNames=session.getAttributeNames();

while(sessionNames.hasMoreElements()){

String sessionName=sessionNames.nextElement();

tempMap.put(sessionName,session.getAttribute(sessionName));

}

session.invalidate();

session=request.getSession();

for(Map.Entry<String,Object> entry:tempMap.entrySet()){

session.setAttribute(entry.getKey(),entry.getValue()); } }

2 修复富文本中xss注入

//html源码

String htmlContent="dddd<div onclick='alert(ddd)'>hello</div><vedio src=\"\">";

File file=new File(this.class.getResource(POLICY_FILE_LOCATION).getFile()); //设定解析策略

Policy policy=Policy.getInstance(file);

//扫描文件并生成扫描结果

AntiSamy as = new AntiSamy();

CleanResults cr = as.scan(htmlContent, policy); //输出过滤后的扫描结果

System.out.println(cr.getCleanHTML());

//输出扫描中的异常信息 System.out.println(cr.getErrorMessages()); 参考内容链接:xss防御之使用antisamy过滤富文本数据 - hxlhxl0937的个人空间 - 开源中国

猜你喜欢

转载自blog.csdn.net/str0708/article/details/81076089