Java 5 HTML转义以防止XSS
我正在研究Java应用程序中的一些XSS预防措施。
我目前有自定义的例程,这些例程将转义数据库中存储的任何HTML,以便在jsps中安全显示。但是,如果可能的话,我宁愿使用内置/标准方法来执行此操作。
我目前不编码要发送到数据库的数据,但也想开始这样做。
是否有任何内置方法可以帮助我实现这一目标?
回答:
通常,在 过程中而不是在 过程中会逃避XSS
。在JSP中,您可以为此使用JSTL标签(只需将jstl-1.2.jar放在其中/WEB-
INF/lib)。例如<c:out>
fn:escapeXml
<input name="foo" value="<c:out value="${param.foo}" />">
要么
<input name="foo" value="${fn:escapeXml(param.foo)}">
而已。如果在处理输入和/或存储在数据库中时也这样做,那么它们全都分布在业务代码和/或数据库中。您不应该这样做,这仅是维护方面的麻烦,当您在不同的地方进行操作时,您将冒着两次转义符或更多风险的风险(例如,&
将变为&amp;
,&
以使最终用户从字面上看到&
而不是&
在视图中。代码和数据库不是为XSS敏感。只有看法是,那么你应该逃避它只是
在那里 。
我只提醒你:你 需要逃离它的servlet /过滤/ javacode
/数据库/不管。您只是不必要地使事情复杂化了。只是在显示过程中将其转义即可。就这样。
以上是 Java 5 HTML转义以防止XSS 的全部内容, 来源链接: utcz.com/qa/424183.html