找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 93|回复: 0

[cms教程] 织梦DedeCMS自定义表单中添加验证码的方法

[复制链接]

该用户从未签到

发表于 2019-6-1 15:42:35 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在用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文件,则忽略此步。):

       
       
         
        jQuery下载:jQuery.js文件

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

       
        [i,"vdcode" style="width: 50px; text-transform: uppercase;" type="text" name="vdcode"/>
        [i,"vdimgck" style="cursor: pointer;" onclick="this.src=this.src+'?'" src="/include/vdimgck.php"align="absmiddle"/>
         
        3.添加判断验证码正确的js代码带模版底部或头部:

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

       
       

                               
登录/注册后可看大图


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

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-6 06:43

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表