對頁面傳入的參數值進行過濾,過濾方法如下
/** * 將容易引起xss漏洞的半角字符直接替換成全角字符 * * @param s * @return */ public static String xssEncode(String s) { if (s == null || s.equals("")) { return s; } try { s = URLDecoder.decode(s, UTF8); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } //< > ' " \ / # & s = s.replaceAll("<", "<").replaceAll(">", ">"); s = s.replaceAll("\\(", "(").replaceAll("\\)", ")"); s = s.replaceAll("'", "'"); s = s.replaceAll("eval\\((.*)\\)", ""); s = s.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\""); s = s.replaceAll("script", ""); s = s.replaceAll("#", "#"); s = s.replaceAll("%", "%"); return s; }