通常,在 显示 过程中而不是在 存储 过程中会逃避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 /过滤/ javapre
/数据库/不管。您只是不必要地使事情复杂化了。只是在显示过程中将其转义即可。就这样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)