用Java转义html

如何确保我不会两次逃脱?

我听说,从表单接收值时转义值,并在输出时也转义是一种很好的做法。这样,您就有两次机会抓到东西。

回答:

我认为您正在使用JSP。

仅在

期间逃脱。那里的JSTL

<c:out>标签是非常合适的。默认情况下,它会转义HTML实体。使用它可以显示

每个 用户控制的输入,例如请求URL,请求标头和请求参数。

例如

<input type="text" name="foo" value="<c:out value="${param.foo}" />">

输入期间无需转义。XSS在原始Java代码和SQL数据库中均无害。另一方面,您也宁愿将未修改的数据保存在DB中,以便仍可以看到用户

实际 输入的内容,以便在必要时可以对可邮寄用户进行社交操作。

如果您想知道在输入过程中要转义的内容,那就是SQL injection。在这种情况下PreparedStatementStatement只要您想在数据库中保存

任何 用户控制的输入,只要使用而不是常规即可。

例如

create = connection.prepareStatement("INSERT INTO user (username, password) VALUES (?, MD5(?))");

create.setString(1, username);

create.setString(2, password);

create.executeUpdate();

以上是 用Java转义html 的全部内容, 来源链接: utcz.com/qa/421050.html

回到顶部