11

当用户在 Tomcat Webapp 中提交表单时,我愿意使用“OWASP ESAPI for Java”来清理用户输入。

我以前org.apache.commons.lang.StringEscapeUtils是这样使用的:

public static String myEscapeHtml(String s)
{
    String s_escapedString = null;       
    s_escapedString = StringEscapeUtils.escapeHtml(s);
    return s_escapedString;
}

我不再知道这是否足以“合理地”保护 webapp ...

我想知道我应该编写哪些代码行来使用 OWASP ESAPI 来清理 Tomcat webapp 用户输入。

您能否举一个示例,其中一个或多个 ESAPI“过滤器”(转义?编码?...)将应用于字符串以对其进行清理?

后端 RDBMS 是 PostgreSQL。

Tomcat 服务器既可以在 Linux 服务器上运行,也可以在 Windows 服务器上运行。

感谢你并致以真诚的问候。

4

1 回答 1

7

对于输入验证,您将使用org.owasp.esapi.reference.DefaultValidator.

如果您想在 中定义自己的验证规则,此问题validation.properties的答案中演示了执行此操作的技术。

对于输出转义,这实际上非常容易。最好在将数据插入将发送到表示层的对象中时,您需要使用String output = ESAPI.encoder().escapeForHTML(String s);方法。

方法的完整列表在 中定义org.owasp.esapi.Encoder

于 2015-01-22T15:44:42.050 回答