Strut2 采用token机制防御CSRF同时也可以防止表单重复提交

一 未配置Struts2 token的情况下测试

1.从表单提交数据,可以从下图看出,快速点击保存按钮,请求提交了两次

2.检查post提交的数据中未含有token参数

 3.查看数据列表,有重复数据

 4.将刚才的请求由post请求转换为get请求(CSRF攻击),从下图可以看出请求成功

 二 配置Struts2 token值后再次测试

1. 在工程中的Struts文件中配置token机制,针对新增与修改的form请求

2.在页面头部添加<%@ taglib uri="/struts-tags" prefix="s" %>,在form表单中添加<s:token/>

 

3.配置好Struts2 token机制后再次测试,新增数据,从下图中可以看出,连续的第二次请求响应为404

 4. 检查post数据请求,请求里生成了token值

 5.检查列表中数据,无重复数据

 6.转换成get方式再次请求,响应404(登录状态)

 以上情况,为验证Struts2 采用token令牌的方式防止CSRF攻击及防止重复提交。

 

posted @ 2016-11-18 18:08  lmaplet  阅读(1964)  评论(0编辑  收藏  举报