最新公告
  • 欢迎您光临云梦下载网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 织梦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>

     

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


    1601950813-424a572d7158a6b

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

    1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!616105616@qq.com
    2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理,有奖励!
    3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
    4. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!

    云梦下载网 » 织梦DedeCMS自定义表单中添加验证码的方法
    • 3会员总数(位)
    • 3116资源总数(个)
    • 65本周发布(个)
    • 14 今日发布(个)
    • 240稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情