前端頁面代碼如下:
<script>
$(function() {
$("#sessionId").val($.cookie("JSESSIONID"));
$("#submit").click(function () {
var options = {
url: 'guestbook.jspx',
type: 'post',
dataType: 'json',
data: $("#guestbookForm").serialize(),
success: function (data) {
if(data.status==0) {
alert("留言成功");
location.href=location.href;
} else if(data.status==1) {
alert("驗證碼錯誤");
$("#guestbookCaptcha").click();
}
}
};
$.ajax(options);
return false;
});
});
</script>
上述代碼主要是通過js獲取本地的cookie,並通過表單參數以ajax的方式發送到服務器端進行驗證。
服務器端代碼:
//CSRF驗證
if(StringUtils.isBlank(sessionId)||!request.getSession().getId().equals(sessionId)){
response.sendRedirect("404.html");
}