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

在用DedeCMS的时候,通过自定义表单来做在线留言,这个确实比织梦自带的留言簿模块要方便,但是实现起来还是诸多bug。所以还是用Dede的自定义表单来实现比较靠谱,但是使用自定义表单之后,因为没有加验证码,导致一段时间内被人恶意攻击,填写了几千个留言,头都大了,只好去数据库中批量删除。此时之后,淘站网就加深了这个验证码的认识,不论什么样的表单,一定要记得加上验证码。

今天,淘站网就说说如何在DedeCMS的自定义表单中添加验证码,虽然在网上有很多教程,但是测试了大部分,发现都不适用,淘站网还是自己研究一下,终于自己搞定。淘站网测试的DedeCMS版本为DedeCMS V5.7 SP1,大家可以参考一下。

一、修改自定义表单控制文件



1.打开/plus/diy.php文件,在头部随意位置加上代码(网站开通了会员功能模块必加,没有开通会员功能则略过此步):



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

 

2.加完上述代码之后,查找代码:



elseif($do == 2)

        {

 

在下面加上代码:



  $svali = GetCkVdValue();

                  if(preg_match("/1/",$safe_gdopen)){

                          if(strtolower($vdcode)!=$svali || $svali=='')

                          {

                                  ResetVdValue();

                                  ShowMsg('验证码错误!''-1');

                                  exit();

                          }

                    }

修改之后保存文件并上传。

二、自定义表单模版页修改

1.引入jQuery文件(如果模版中已经引用了jQuery文件,则忽略此步。):



<script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/js/jquery.js"></script>

 

jQuery下载:jQuery.js文件

2.在需要插入验证码的地方加上代码:



<input id="vdcode" style="width: 50px; text-transform: uppercase;" type="text" name="vdcode"/>

<img id="vdimgck" style="cursor: pointer;" onclick="this.src=this.src+'?'" src="/include/vdimgck.php"align="absmiddle"/>

 

3.添加判断验证码正确的js代码带模版底部或头部:



<script type="text/javascript">// <![CDATA[

$ = 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 = "../include/vdimgck.php?tag=" + num;

}
return false;

}

</script>

 

完成后,测试一下,效果如下图:


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

是不是完美实现了自定义表单中添加验证码功能?妈妈再也不怕我的网站被恶意提交表单了!

精彩推荐

本站承接 WordPress / DedeCMS / ThinkPHP 等
系统建站、仿站、开发、定制等业务!

1. 本站所有资源来源于用户上传和网络,仅作为演示数据,如有侵权请邮件联系站长!
2. 本站承接各类网站建设,仿站,多平台小程序搭建制作!
3. 本站联系QQ:897918909
beetheme资源网 » 织梦DedeCMS自定义表单中添加验证码的方法

发表评论

售后服务范围1、服务器配置及主机购买推荐
2、模板使用范围内问题免费咨询
3、单价超过100元的模板免费一次安装,需提供服务器信息。
付费增值服务1、提供WordPress主题、插件汉化、优化等服务请详询在线客服
2、承接 WordPress、DedeCMS、ThinkPHP 等系统建站、仿站、开发、定制等服务
3、服务器环境配置(一般 ¥50-300)
4、网站中毒处理(需额外付费,500元/次/质保三个月)
售后服务时间周一至周五(法定节假日除外) 9:00-23:00
免责声明本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: admin@vip.beetheme.cn),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我们联系哦!

联系我们

提供最优质的资源集合

立即查看 了解详情

扫码了解我们!