前端页面代码如下:
<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");
}