防止表单重复提交token机制
来源:互联网 发布:淘宝c店详情页banner 编辑:程序博客网 时间:2024/05/17 11:35
防止用户注册信息或者订单信息重复提交写入数据库,使用session的token令牌机制
也叫做令牌机制,除了重定向以外的另一种处理表单重复提交的方法
login.jsp================================================
<div align="center"> <h1>令牌机制</h1> <s:form action="token.action"> <s:textfield name="username" label="username"></s:textfield> <s:password name="password" label="password"></s:password> <s:token></s:token> <s:submit value="submit"></s:submit>//该表单界面一定要用标签写,只有标签才有效,而且一定要在form里放上token标签 </s:form></div>
tokenAction=============================================
public class TokenAction extends ActionSupport { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String execute() throws Exception { return SUCCESS; }}
Struts.xml===============================================
<action name="token" class="Action.TokenAction"> <result name="success">/token/success.jsp</result> <result name="invalid.token">/token/field.jsp</result> //重复提交时转向的页面,名字是固定的 <interceptor-ref name="token"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> //这两个拦截器标签一定要写</action>
Success.jsp==============================================
<body> <s:property value="username"/><br> <s:property value="password"/> </body>
Filed.jsp================================================
<body> 不能重复提交表单 </body>
在请求login.jsp页面的时候就会在客户端和服务器端各有一个随机数,并且相同,然后提交表单的时候进行比对,如果相同则认为是第一次提交,比对之后服务器端生成一个新的随机数,重复提交表单的时候客户端还是原来的随机数,而服务器端已经是新的了,所以转向失败页面。提交成功后刷新页面和回退回去不刷新再次提交都会比对不成功,而回退回去刷新又相当于重新请求login.jsp,又重新开始了,所以可以提交成功
阅读全文
0 0
- 防止表单重复提交token机制
- token防止表单重复提交
- token-防止表单重复提交
- struts2防止表单重复提交 token
- struts2之防止表单重复提交 token
- 《struts---利用Token防止表单重复提交》
- 运用session token防止表单重复提交
- session token 防止表单重复提交
- php表单加入Token防止重复提交
- structs2 防止表单的重复提交token
- <s:token/>防止表单重复提交
- Struts2利用token防止表单重复提交
- PHP利用token防止表单重复提交
- SpringMVC token 防止表单重复提交
- Struts2<s:token>防止表单重复提交
- 使用token防止表单重复提交
- Sping MVC Token防止表单重复提交
- sturts2 token防止表单重复提交
- 虚拟化笔记05 OpenFiler configuration
- Docker核心概念
- bzoj3143 [Hnoi2013]游走 (期望概率DP + 高斯消元)
- 单链表逆置
- Spring-cache的抽象
- 防止表单重复提交token机制
- Thinkphp3.2.3关联模型(总结)
- java反编译javap
- [SDUT](3334)数据结构实验之栈七:出栈序列判定 ---栈
- Jmeter之JDBC Request使用方法(oracle)
- https
- Java中数组和List的转换
- C++定时器
- HDU 1062 Text Reverse