: :
xssfilter.java
dofilter public void (servletrequest servletrequest ، servletResponse servletResponse ، filterchain filterchain) يلقي ioexception ، servletexception {// flag = true 只做 url 验证 ؛ flag = false 做所有字段的验证 ؛ flag boolean = true ؛ if (flag) {// 只对 url 做 xss 校验 httpservletrequest httpservletrequest = (httpservletrequest) servletRequest ؛ httpservletresponse httpservensponse = httpservonseponse ؛ httpservletrequest.getRequesturl (). servletResponse) ؛ return ؛} if (requesturi! = null && requesturi.indexof ("account_bank_return.html")! =-1) {filterchain.dofilter (servletRequest ، servletResponse) ؛ return ؛} if (requesturi! = null && requesturi.indexof ("/alipay/activity.html")! =-1) {filterchain.dofilter (servletRequest ، servletResponse) ؛ return ؛} if (requesturi! = null && requesturi.indexof ("/alipaylogin.html")! =-1) {filterchain.dofilter (servletrequest ، servletResponse) ؛ return ؛} requestWrapper rw = new requestWrapper (httpletrequest) ؛ httpservletrequest.getquerystring () ؛ if (! " requesturi.endswith ("/member/apser.html")) {sqlparam = rw.cleansqlinject (param) ؛} string xsssparam = rw.cleanxss (sqlparam) ؛ requesturi += "؟"+xsssparam ؛ if (! requestWrapper ((httpservletrequest) servletrequest) ، servletResponse) ؛ return ؛}} filterchain.dofilter (servletrequest ، servletResponse) ؛} else {// 对请求中的所有东西都做校验 对请求中的所有东西都做校验 包括表单。此功能校验比较严格容易屏蔽表单正常输入 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 使用此功能请注意。 servletResponse) ؛}} requestMapping: public requestWrapper () {super (null) ؛} public requestWrapper (httpservletrequest httpservletrequest) {super (httpservletrequest) ؛} public [] {return null ؛} int i = str.length ؛ string as1 [] = new string [i] ؛ for (int j = 0 ؛ j <i ؛ j ++) {as1 [j] = cleanxsss (cleansqlinject (str [j])) ؛} return as1 ؛} string public getParameter (string s) {string s1 = super.getpar (s) NULL ؛} آخر {return cleanxss (cleansqlinject (s1)) ؛}} السلسلة العامة getheader (سلسلة s) {String s1 = super.getheader (s) ؛ if (s1 == null) {string null ؛ = src ؛ system.out.println ("XSS --- temp->"+src) ؛ src = src.replaceall ("<" ، "<"). replaceall (">" ، ">") ؛ // if (src.indexof ("address") ==-1) // {src = src.replaceall ("// (" ، "(") .Replaceall ("//)" ، ")") ؛ //} src = src.replaceall ("" ، "" "") ؛ نمط النمط = pattern.compile ("(eval //(. e e e e e eval/))//) | script)" ، pattern.case_insensitive) ؛ Matcher Matcher = pattern.matcher (SRC) ؛ src = matcher.replaceall ("") ؛ pattern = pattern.compile ("[///" // '] [// s]*javaScript: (.*) [/// "//']" ، pattern.case_insensitive) ؛ matcher = pattern.matcher (src) ؛ src = matcher.replaceall ("/"/"") ؛ // 增加脚本 src = src.replaceall ("script" ، "") .replaceall ("؛" ، "") .replaceall ("/" "،" ") .replaceall ("@"،" "") .replaceall ("0x0d" ، "") "") .replaceall ("،" ، "") ؛ if (! temp.equals (src)) {system.out.println ("输入信息存在 xss 攻击!") ؛ system.out.println ("原始输入信息->"+temp) ؛ system.out.println ("处理后信息->"+src) ؛ cleansqlinject (سلسلة src) {string temp = src ؛ .ReplaceAll ("أو" ، "lovbido") ؛XML 配置 :
<Filter> <iliter-name> xssfilter </filter-name> <ilter-class> cn.com.jsoft.xss.xsssfilter </filter-class> <Ing-param> <Parm-Name> الترميز </parm-name> <par am-value> utf-8 </parm-value> </ith-param> </filter> <filter-mapping> <filter-name> xssfilter </filter-name> <Url-pattern>/*</urop-pattern> </filed-mapping>
sql sql 字符 , 特殊 script 脚本字符处理掉 , 具体的页面处理还需要后台处理!!
关于这篇 Java 过滤器 filter 防 sql 注入的实现代码就是小编分享给大家的全部内容了 , 希望能给大家一个参考 , 也希望大家多多支持武林网。