您的位置 首页 > 数码极客

如何修改非法字符串、java如何修改字符串! python字符串修改

1、实现流程

  • 将请求的入参取出
  • 准备好过滤的工具类,将参数进行过滤
  • 将过滤的参数继续传递

2、引入jar包

<!-- jsoup --> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.13.1</version> </dependency>

3、编写wrapper文件(wrapper文件的作用就是将格式化后的参数重新写回到request中)

public class XssAndSqlHttpServletRequestWrapper extends HttpServletRequestWrapper { //声明sql注入的非法字符 private static String illegalKey = "insert|select|delete|update|count|drop|substr|trim|cast|exec"; private static Set<String> illegalKeySet = new HashSet<String>(0); public XssAndSqlHttpServletRequestWrapper(HttpServletRequest request) { super(request); String keyStr[] = illegalKey.split("\\|"); //将非法字符添加到Set集合中 for (String str : keyStr) { illegalKeySet.add(str); } } // 重写getParameterValues @Override public String[] getParameterValues(String name) { String[] parameterValues = (name); if (parameterValues == null) { return null; } for (int i = 0; i < ; i++) { String value = parameterValues[i]; Whitelist whitelist = new Whitelist(); //允许的标签 w("a", "b", "blockquote", "br", "caption", "cite", "code", "col", "colgroup", "dd", "div", "dl", "dt", "em", "h1", "h2", "h3", "h4", "h5", "h6", "i", "img", "li", "ol", "p", "pre", "q", "small", "span", "strike", "strong", "sub", "sup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "u", "ul") //标签加属性,加上属性后,该标签的属性不会过滤 .addAttributes("a", "href", "title") .addAttributes("blockquote", "cite") .addAttributes("col", "span", "width") .addAttributes("colgroup", "span", "width") .addAttributes("img", "align", "alt", "height", "src", "title", "width") .addAttributes("ol", "start", "type").addAttributes("q", "cite") .addAttributes("table", "summary", "width") .addAttributes("td", "abbr", "axis", "colspan", "rowspan", "width") .addAttributes("th", "abbr", "axis", "colspan", "rowspan", "scope", "width") .addAttributes("ul", "type") ; parameterValues[i] = J(value, whitelist);; parameterValues[i] = checkIllegalKey(parameterValues[i].toLowerCase()); } return parameterValues; } //清除违法字符 private String checkIllegalKey(String value) { String paramValue = value; for (String keyword : illegalKeySet) { if () > keyword.length() + 4 && (" "+keyword(keyword+" "(" "+keyword+" "))) { //对于非法字符集的处理,置为空字符串,或者抛出异常 paramValue = S(paramValue, keyword, ""); } } return paramValue; } }

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何修改非法字符串,java如何修改字符串,如何修改字符串的元素,C语言如何修改字符串,如何修改字符串中内容,修改字符串的某个字符”边界阅读