如何清理输入

Léa*_*iot 5 java input sanitize owasp esapi

当用户在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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

后端RDBMS是PostgreSQL。

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

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

avg*_*tvs 7

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

如果您想在 中定义自己的验证规则validation.properties此问题的答案中演示了实现此目的的技术

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

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