如何防止我的網站中的這個標簽的xss攻擊。 <%=request.getParameter("errorMsg")%> 因為這是在錯誤頁面中通過URL渲染用戶輸入的資訊 上述代碼片段存在于error.jsp檔案中。
uj5u.com熱心網友回復:
替換JSP運算式
<%= request.getParameter("errorMsg") %>
用JSTL標簽c:out作為
<c:out value="${param.errorMsg}" /> //span>
這將防止跨站腳本攻擊,通過替換特殊字符,如<、>,來轉義任何注入request parameter的<標記。
確保使用taglib指令將JSTL核心標簽庫添加到你的error.jsp中
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
編輯:(針對OP的評論)
你的代碼有一個錯誤,它將拋出一個NullPointerException,因為encodedValue是null。
用靜態方法URLEncoder.encode(request.getParameter("errorMsg"), "UTF-8")代替它。然后確保ErrorHTTPSession.jsp也使用c:out標簽來列印這個errorMsg,這樣你就可以了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/315153.html
標籤:
