“Tomcat:The Definitive Guide”(第2版),O'Reilly,Jason Brittain一书提供了一个Tomcat过滤器(和一个阀门)来过滤掉来自HTTP请求的错误用户输入,以帮助避免恶意攻击。我已经使用过滤器多年了,我发现它是在Tomcat上运行的Web应用程序的一个很好的安全工具。它曾经使用旧版本的Tomcat,但是对于更新版本的Tomcat,它不再有效。更糟糕的是,如果无声地失败。你必须通过实验来学习它不起作用。
过滤器似乎正在编辑请求参数的副本,但是当请求到达Web服务器时,实际的请求参数不会更改。我尝试了阀门,但它也无法以相同的方式工作。您可以使用过滤器或阀门来阻止参数中包含错误数据的HTTP请求,但您无法再使用它来编辑参数。
有没有人能解决这个问题?也就是说,是否存在BadInputFilter版本或其替代品,它实际上会修改请求参数,然后将修改后的参数发送到Web服务器。
答案 0 :(得分:2)
我无法为这个问题找到一个好的答案,所以我开发了自己的答案,并在一篇关于JavaWorld的详细文章中发表。有关此问题的答案,请参阅BadInputFilter revisited。