Bas*_*usa 17 java jsp servlets
我很感激为我提供了一套明确的指导方针或处理逃避字符串的裁决.我用来转义字符串的是apache commons-lang-xxjar库.特别是StringEscapeUtils.escapeHtml(String toEscape)方法.
我需要知道:
(1)在JSP页面或Servlet中转义字符串更好?
(2)你从JSTL推荐StringEscapeUtils.escapeHtml(..)或<c:out>是什么?
(3)处理多行字符串,哪个更好,直接在字符串中使用<br>,或者\n和nl2br()方法:
String strError = "Invalid username.\nPlease try again.";
要么
String strError = "Invalid username.<br>Please try again.";
(4)如何转义接收外卡的字符串,例如:
String strError = "Invalid user [%s].<br>Please specify another user."
(5)由于javascript转义字符不同.我应该使用什么来转义要在JSP页面的javascript部分内呈现的Java字符串(例如var name = "<%=javaStringHoldingName%>").
Bal*_*usC 16
你只需要在它可能受到伤害的地方完全逃脱它.在这种特殊情况下,它在视图中.当用户控制的HTML在视图中的所有HTML中进行内联时,可能会受到损害.这是XSS的来源.
在一个设计良好的JSP页面(读取:无 scriptlets)中,JSTL为您提供了转义HTML/XML 的<c:out>标记和fn:escapeXml()函数.
<c:out value="${param.foo}" />
<input type="text" name="foo" value="${fn:escapeXml(param.foo)}" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17619 次 |
| 最近记录: |