// 问题描述
当在html表单中输入'";></Script><Script>alert(/XSS/)</sCript>提交后的页面不会显示'";></Script><Script>alert(/XSS/)</sCript>而是弹出alert(/XSS/)的对话框
方法一:
// 用到的工具类
/**
* 请求工具类
*
* @date 2014-7-11
*/
public class RequestUtils
{
public static String escapeHtmlString(String input)
{
if (input == null || input.length() == 0)
return "";
char c;
StringBuffer sb = new StringBuffer(input.length());
for (int i = 0; i < input.length(); i++)
{
c = input.charAt(i);
switch (c)
{
case '\'':
sb.append("'");
break;
case '"':
sb.append(""");
break;
case ' ':
sb.append(" ");
break;
case '<':
sb.append("<");
break;
case '>':
sb.append(">");
break;
case '&':
sb.append("&");
break;
case '\n':
sb.append("<br />");
break;
default:
sb.append(c);
}
}
return sb.toString();
}
}
// 功能实现
<%@page import="com.linkage.justone4.utils.RequestUtils" %>
<td><%=RequestUtils.escapeHtmlString(g.getGiftname()) %></td>
方法二:
功能实现
import org.springframework.web.util.HtmlUtils;
String albumName = HtmlUtils.htmlEscape(album.getAlbumName());