设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
php防止用户重复提交表单
返回列表
查看:
1669
|
回复:
0
php防止用户重复提交表单
[复制链接]
qz234
当前离线
积分
7694
2588
主题
2588
帖子
7694
积分
论坛元老
论坛元老, 积分 7694, 距离下一级还需 9992305 积分
论坛元老, 积分 7694, 距离下一级还需 9992305 积分
积分
7694
发消息
电梯直达
楼主
发表于 2018-2-14 05:41:53
|
只看该作者
|
倒序浏览
|
阅读模式
我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦。
效果图:
那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手:
首先从
前端做限制
。前端JavaScript在按钮被点击一次后禁用,即disabled,这个方法简单的防止了多次点击提交按钮,但是缺点是如果用户禁用了javascript脚本则失效。
第二,我们可以在提交后做
redirect页面重定向
,即提交后跳转到新的页面,主要避免F5重复提交,但是也有不足之处。
第三,就是
数据库做唯一索引约束
。
第四,就是做
session令牌验证
。
我们现在来了解下简单的利用
session token
来防止表单重复提交的方法。
我们在表单中加一个input隐藏域,即type="hidden",其value值用来保存token值,当页面刷新的时候这个token值会变化,提交后判断token值是否正确,如果前台提交的token与后台不匹配,则认为是重复提交。
">
以上是一个简单的防止重复提交表单的例子。
那么实际项目开发中,会对表单token做更复杂的处理,即我们说的令牌验证。可能要做的处理有:
验证来源域,
即来路,是否为外部提交;
匹配要执行的动作
,是添加、修改or删除;其次最重要的是
构建token
,token可以采用
可逆的加密算法
,尽可能复杂,因为明文还是不安全的。
以上就是为大家分享的如何解决ph防止用户重复提交表单问题,希望对大家的学习有所帮助。
您可能感兴趣的文章:
PHP对表单提交特殊字符的过滤和处理方法汇总
php实现过滤表单提交中html标签的方法
php过滤表单提交的html等危险代码
php表单敏感字符过滤类
浅谈php提交form表单
表单提交错误后返回内容消失问题的解决方法(PHP网站)
php实现表单多按钮提交action的处理方法
AJAX PHP无刷新form表单提交的简单实现(推荐)
php表单加入Token防止重复提交的方法分析
php 防止表单重复提交两种实现方法
PHP实现表单提交时去除斜杠的方法
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端