在我的tomcat web应用程序中,我实现了这样的反csrf令牌:
<form method="post" action="<%=response.encodeURL("buy")%>">
因此,URL变成:http://10.0.0.129:8080/webapp/buy?CSRFToken=3B2D9F4ED12AB2237B690B8E3C4CD234
然而,当我有一个<c:forEach items="${forsales}" var="forsale">
:
<c:forEach items="${forsales}" var="forsale">
<tr>
<td align="center">${forsale.id}</td>
<td align="center"><a href="${forsale.commentUrl}">${forsale.name}</a></td>
<td align="center">${forsale.sellerid}</td>
<td align="center">${forsale.seller}</td>
<td align="center">${forsale.description}</td>
<td align="center"><fmt:formatNumber value="${forsale.price}" type="currency" /></td>
<td align="center">${forsale.stock}</td>
</tr>
</c:forEach>
如何编码<a href="${forsale.commentUrl}">
,为链接包括CSRFToken?
使用JSTL<c:url>
代替scriptlet
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<a href="<c:url value="${forsale.commentUrl}"/>">${forsale.name}</a>