首页 » 开源CMS » 织梦DedeCms » 正文

织梦dedecms防止自定义表单重复提交

解决织梦自定义表单重复提交的问题,一个可以使用验证码功能,主要用来提供人机验证,防止机器提交大量的无用订单,但无法防止真人提交重复订单。另一个思路是使用session保存IP的方法,防止在同一主机重复提交订单。今天我们重点说一个第二种方法,实现起来也比较简单,只要加几句PHP程序就可以实现。

使用方法:
1、打开如下文件:
打开织梦根目录下的/plus/diy.php这个脚本文件。
2、修改如下:
大约在58行找到如下行,修改成如下代码即可。
修改前如下

if(!empty($dede_fields))
{ 
$fieldarr = explode(';', $dede_fields);

修改后如下

if(!empty($dede_fields))
{ 
session_start();
$cur_ip=GetIP();
if($cur_ip==$_SESSION['form_ip'])
{
showmsg('您已经提交过了,无需重复提交!','/',0,10000);exit;
}
else
{
$_SESSION['form_ip']=$cur_ip;
}//防止表单重复提交
$fieldarr = explode(';', $dede_fields);

修改完成后,重复提交就会弹出提示窗口禁止再次提交。

发表评论