tomcat 全局参数过滤

通过Tomcat Valve实现全局参数过滤,如BadInputFilterValve.java源代码所示,用于防止XSS攻击。但该方法对特殊字符的转义可能不完全,存在局限性和潜在逻辑隐患。
摘要由CSDN通过智能技术生成

因为输入参数的多样性,我一直怀疑能否做全局性的参数过滤。没想到看tomcat的安全防护时竟然有这个建议。这本书可以在百度文库中搜到。

该书说道:Tomcat Valve可将程序代码插入Tomcat 中,并让该程序代码在不同的请求及响应处理阶段执行,而Web应用程序的内容则在中间阶段执行(即,在处理请求之后,处理响应之前)。Valve 不是Web 应用程序的一部分,而是可以当成Tomcat servlet container 的一部分来执行的程序模块。Valve 的另一项优点是,Tomcat 的系统管理员可以设定Valve 在所有部署的Web 应用程序或特定的Web 应用程序中执行—— 无论所需的范围为何。附录四中含有BadInputFilterValve.java 的完整源代码。

我看了下BadInputFilterValve.java源代码,主要的部分如下:

quotesHashMap.put("/"", """);

quotesHashMap.put("/'", "'");

quotesHashMap.put("`", "`");

angleBracketsHashMap.put("<", "<");

angleBracketsHashMap.put(">", ">");

javaScriptHashMap.put("document(.*)//.(.*)cookie", "document.cookie");

javaScriptHashMap.put("eval(//s*)//(", "eval(");

javaScriptH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值