// jsp abc.jsp
Code:
<%
String a = (String)session.getAttribute("CSRF_NONCE");
String b = a.replace("+","%2B")
%>
<a href="javascript:newWin=void(window.open('<%=Url%>netmarkets/jsp/meeting/xyz.jsp?&u8=1&height=450,&CSRF_NONCE=<%=a%>','','toolbar=no'))">Action Items </a>
要求:我想从会话中读取一个请求参数(attr - &#34; CSRF_NONCE&#34;)。
问题:当我读到&#34; CSRF_NONCE&#34; xyz.jsp 中的参数,我发现该字符&#39; +&#39;在参数CSRF_NONCE中被空格替换。
我在链接中尝试了字符串 b ,但我遇到了同样的问题。实际上,从xyz.jsp中调用了一个api,它检查CSRF_NONCE是否存在于会话和请求中。
// debug output using System.out.println->SOP
// In xyz.jsp
SOP(request.getSession().getAttribute("CSRF_NONCE"))-> tqEtncjrVemCzNXjsFLu4sYDSuvZFw6g6j4meBSbXXQ=:1404880919271:6HVrHD/ZKeOME+1k76KOUA==
SOP(request.getParameter("CSRF_NONCE")) -> tqEtncjrVemCzNXjsFLu4sYDSuvZFw6g6j4meBSbXXQ=:1404880919271:6HVrHD/ZKeOME 1k76KOUA==