表單重復提交
阿新 • • 發佈:2018-03-13
dom 是否有效 表單重復提交 true 原理 info equals 分享圖片 width
原理:1、後端生成一個授權碼,存好。並且把授權碼傳到前端。
2、前端把授權碼傳到後端,授權碼一致,刪除後端存好的授權碼。
工具類:
public class TokenUtil { /** * 制造隨機數 * @return */ public static String createToken(){ String token = UUID.randomUUID().toString(); return token; } /** * 設置隨機數 * 放入前端和後端session*/ public static void setToken(HttpServletRequest request, String profix){ String token = createToken(); String key = profix + "Token"; //放入前端 request.setAttribute(key,token); //放入session String sessionKey = profix.toUpperCase() + "_TOKEN_IN_SESSION"; request.getSession().setAttribute(sessionKey,token); }/** * 驗證隨機數是否有效 * @return */ public static boolean checkToken(HttpServletRequest request, String profix, String token){ //判斷前綴是否為空 if(profix==null){ return false; } //判斷session中的隨機數是否有效 String sessionKey = profix.toUpperCase() + "_TOKEN_IN_SESSION"; String sessionToken = (String) request.getSession().getAttribute(sessionKey); if(sessionKey==null){ return false; } if(sessionToken.equals(token)){ return true; } return false; } /** * 刪除session中的隨機數 */ public static void removeAttribute(HttpServletRequest request, String profix){ String sessionKey = profix.toUpperCase() + "_TOKEN_IN_SESSION"; request.getSession().removeAttribute(sessionKey); } }
以上幾乎就是表單重復提交的過程和大部分代碼
,有什麽不對的,請大家指正。我是個新手!
表單重復提交