<select id="selectItem">
<c:forEach items="${sessionScope.XXX}" var="item">
<option value="${item.map['TYPE']}">${item.map['TYPE']}</option>
</c:forEach>
</select>
以上是JSP的部分程式碼,是一個下拉式選單(確定可以WORK)
現在我想要用apache commons-lang提供的StringEscapeUtils.escapeHtml()方法去處理${item.map['TYPE']}有可能造成的XSS攻擊(弱點掃描掃到 那行有可能遭到攻擊)
小弟對EL JSTL不太熟稔
想請問程式碼該怎麼改?
*補充
一般來說我會這樣處理可能造成的XSS攻擊(title的str原本有XSS風險,所以在宣告變數時加上StringEscapeUtils.escapeHtml())
<%
String str = StringEscapeUtils.escapeHtml(container.getXXX(request));
%>
<html>
<head>
<title><%=str %></title>
</head>
</html>
我的想法很簡單,想把可能造成XSS風險的程式碼丟進去StringEscapeUtils.escapeHtml()裡,不過
<%=StringEscapeUtils.escapeHtml(${item.map['TYPE']})%> 這樣寫似乎是不行的