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的个人空间 - 开源中国