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



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

我拥有的一些解决方案如下:

  1. 将 Java 过滤器与任何解析器 API 一起使用 - Dom 或 SAX 等,并验证所有输入参数。但是,这种方法可能会给服务器带来很多负担。Dom 和 SAX 解析器
  2. 在将数据保存到我们的数据库之前,请验证 java 对象中的每个参数,如果其中任何一个失败,则使事务失败。这看起来不错,但是当我们添加新服务时,会产生维护开销。

是否有任何 API 或 jar 可以与 axis2 或 java 集成,负责验证请求参数而不是手动执行?

请建议什么是最好的方法。

谢谢哈里卡

正如你提到的,方法2是理想的方法,你可以使用Apache Commons Lang库的StringEscapeUtils,它具有escapeHtmlescapeJavascriptescapeXml的方法,可以在将前端代码保存到数据库之前消除前端代码。

这将阻止 XSS,但不能保证防止 SQL 注入。

最新更新