当用户在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;
}

我不知道这是否足以保护网络应用程序“合理地” ...

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

您能否举一个将一个或几个ESAPI“过滤器”(转义?,编码?...)应用于字符串进行净化的示例?

后端RDBMS是PostgreSQL。

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

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

最佳答案

为了进行输入验证,您将使用 org.owasp.esapi.reference.DefaultValidator .

如果您想在validation.properties中定义自己的验证规则,那么在this question的答案中将演示实现这一点的技术。

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

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

关于java - 如何清理输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24353728/

10-10 09:21