Skip to main content
 首页 » 程序教程

织梦自定义表单添加验证码的方法

2014年01月02日62030

织梦DedeCMS是很强大的内容管理系统,可以搭建基本上所有种类的网站。有时在建站需求中,需要一些额外的表单供前台用户提交,以便于收集、统计、分析及处理更多的数据。比如:在线订单、在线报名等一些常见的互动应用。织梦DedeCMS提供的自定义表单功能即可满足大多数的此类需求。

不过默认的自定义表单功能有一点点不足,就是没有验证码,这样会造成有人恶意提交或者使用软件提交,给网站造成影响。通过给自定义表单加入验证码的功能,可以防止一些用户恶意提交。

那怎么给织梦DedeCMS的自定义表单加入验证码功能呢?首先需要在DedeCMS后台生成自定义表单。然后在自定义表单模板中添加如下验证码代码:

<input type="text" class="intxt w200" style="width: 50px; text-transform: uppercase;" id="vdcode" name="vdcode" class="code"/><img id="vdimgck" align="absmiddle" onclick="this.src=https://www.noniu.com/jiaocheng/this.src+'?'" style="cursor: pointer;" alt="看不清?点击更换" src="https://www.noniu.com/include/vdimgck.php"/>看不清?<a href="https://www.noniu.com/jiaocheng/javascript:void(0)" onclick="changeAuthCode();">点击更换</a>

并且在当前页添加JS代码,如下:

<script type="text/javascript"> $ = jQuery; function changeAuthCode() { var num = new Date().getTime(); var rand = Math.round(Math.random() * 10000); num = num + rand; $('#ver_code').css('visibility','visible'); if ($("#vdimgck")[0]) { $("#vdimgck")[0].src = "https://www.noniu.com/include/vdimgck.php?tag=" + num; } return false; } </script>

最后修改订单处理或者在线报名页面,打开网站根目录/plus/diy.php文件,在头部引入文件:

require_once(DEDEINC.'/membermodel.cls.php');

添加验证代码到第61行左右位置。如下:

if(!empty($dede_fields)){$validate = empty($validate) ? '' : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue());if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ ResetVdValue();ShowMsg('验证码不正确!',$dede_add,0,1000);exit;}}

好了,在织梦自定义表单中加入验证码的工作就完成了。验证码虽然给用户带来了不便,不过也是为了网站安全、稳定的一道必不可少的防线呀。

评论列表暂无评论
发表评论