Java防止Xss注入json_每日一题(java篇) 如何防止xss注入
生活随笔
收集整理的這篇文章主要介紹了
Java防止Xss注入json_每日一题(java篇) 如何防止xss注入
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、XssAndSqlHttpServletRequestWrapper 類:
import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequestWrapper; public class XssAndSqlHttpServletRequestWrapper extends HttpServletRequestWrapper { HttpServletRequest orgRequest = null; public XssAndSqlHttpServletRequestWrapper(HttpServletRequest request) { super(request); orgRequest = request; } /** * 覆蓋getParameter方法,將參數名和參數值都做xss & sql過濾。* 如果需要獲得原始的值,則通過super.getParameterValues(name)來獲取
* getParameterNames,getParameterValues和getParameterMap也可能需要覆蓋 */ @Override public String getParameter(String name) { String value = super.getParameter(xssEncode(name)); if (value != null) { value = xssEncode(value); } return value; } /** * 覆蓋getHeader方法,將參數名和參數值都做xss & sql過濾。
* 如果需要獲得原始的值,則通過super.getHeaders(name)來獲取
* getHeaderNames 也可能需要覆蓋 */ @Override public String getHeader(String name) { String value = super.getHeader(xssEncode(name)); if (value != null) { value = xssEncode(value); } return value; } /** * 將容易引起xss & sql漏洞的半角字符直接替換成全角字符 * * @param s * @return */ private static String xssEncode(String s) { if (s == null || s.isEmpty()) { return s; }else{ s = stripXSSAndSql(s); } StringBuilder sb = new StringBuilder(s.length() + 16); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); switch (c) { case '>': sb.append(">");// 轉義大于號 break; case '
總結
以上是生活随笔為你收集整理的Java防止Xss注入json_每日一题(java篇) 如何防止xss注入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 如何去掉http debug日
- 下一篇: 英雄联盟手游魄罗币有什么用