验证XSS攻击的Web服务参数 - Axis2,Java

时间:2014-11-19 05:26:06

标签: java web-services validation xss axis2

我们有一个Web服务,可以保存数据并在用户界面上显示相同内容以查看事务。现在,我的要求是验证Web服务请求中的所有输入参数,以确保UI上不显示易受攻击的内容。我正在寻找在将Web服务请求保存到数据库之前验证输入参数的解决方案。

我的一些解决方案如下:

  1. 使用Java Filter和任何解析器API - Dom或SAX等,并验证所有输入参数。但是,这种方法可能会给服务器带来很多负担。 Dom and SAX parser
  2. 在将数据保存到我们的数据库之前,从java对象验证每个参数,如果其中任何一个参数失败,则使事务失败。这看起来不错,但是当我们添加新服务时会有一些维护开销。
  3. 是否有可以与axis2或java集成的API或jar,它们负责验证请求参数而不是手动执行?

    请建议最好的方法。

    谢谢, Harika

1 个答案:

答案 0 :(得分:0)

正如您所提到的,方法2是理想的方法,您可以使用Apache Commons Lang库的StringEscapeUtils,其中包含可以消除前端的方法escapeHtmlescapeJavascriptescapeXml将代码保存到数据库之前的代码。

这会阻止XSS,但无法保证SQL注入的防范。