PHP防止用户重复提交表单

来源:爱站网时间:2020-09-05编辑:网友分享
在提交表单时,我们不能忽视阻止用户重复提交表单的局限性,因为有可能用户连续点击提交按钮或攻击者恶意提交数据,下面就让爱站技术频道小编带大家一起来看看PHP防止用户重复提交表单的介绍吧,希望能给你带来帮助。

在提交表单时,我们不能忽视阻止用户重复提交表单的局限性,因为有可能用户连续点击提交按钮或攻击者恶意提交数据,下面就让爱站技术频道小编带大家一起来看看PHP防止用户重复提交表单的介绍吧,希望能给你带来帮助。

效果图:

 

那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手:

首先从前端做限制。前端JavaScript在按钮被点击一次后禁用,即disabled,这个方法简单的防止了多次点击提交按钮,但是缺点是如果用户禁用了javascript脚本则失效。

第二,我们可以在提交后做redirect页面重定向,即提交后跳转到新的页面,主要避免F5重复提交,但是也有不足之处。

第三,就是数据库做唯一索引约束

第四,就是做session令牌验证
我们现在来了解下简单的利用session token来防止表单重复提交的方法。
我们在表单中加一个input隐藏域,即type="hidden",其value值用来保存token值,当页面刷新的时候这个token值会变化,提交后判断token值是否正确,如果前台提交的token与后台不匹配,则认为是重复提交。

 

以上是一个简单的防止重复提交表单的例子。

那么实际项目开发中,会对表单token做更复杂的处理,即我们说的令牌验证。可能要做的处理有:验证来源域,即来路,是否为外部提交;匹配要执行的动作,是添加、修改or删除;其次最重要的是构建token,token可以采用可逆的加密算法,尽可能复杂,因为明文还是不安全的。

以上就是爱站技术频道小编给大家分享的PHP防止用户重复提交表单,都了解了吗?更多的专业知识尽在js.aizhan.com。

上一篇:多功能购物网站的PHP实现案例

下一篇:PHP常量的详细分析

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载