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