当前位置:主页 > 新闻资讯 >

织梦cms留言板添加验证码的方法

日期:2021-01-08 作者:栈码网络 来源:http://www.zhanmanet.com 浏览量:
  在制作网站的时候,我们常常会用到留言板功能,但是织梦自带的留言板样式单一,通常我们会使用自定义表单来代替。然而,因为没有验证码功能,网站留言板就成了垃圾广告收集器,每天都会有成百上千条垃圾留言。那我们如何添加验证码来避免此事呢?请看下面
  
  DedeCMS的版本是DedeCMS  V5.7,可以参考一下。
  
  一、修改自定义表单控制文件
  
  1.打开/plus/diy.php文件,在头部的随机位置添加代码(网站开通了会员功能模块的必加,但如果未开通会员功能,则跳过此步骤);
  
  require_once(DEDEINC.'/membermodel.cls.php');
  
  2.添加上述代码后,找到代码:
  
  if(!empty($dede_fields))
  
  {
  
  大约在59~60行。
  
  在下面添加代码:

    $svali = GetCkVdValue();
    if (preg_match("/1/", $safe_gdopen)) {
        if (strtolower($vdcode) != $svali || $svali == '') {
            ResetVdValue();
            ShowMsg('验证码错误!', '-1');
            exit();
        }
    }
  
  修改后保存文件上传。
  
  二、自定义表单模板页面修改
  
  1.导入jQuery文件(如果模板中引用了jQuery文件,则忽略此步骤。)
  
  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>
  
  完成后进行测试,效果如下:
 
  
  通过以上步骤就可以在自定义表单中就添加了验证码功能,垃圾广告留言再也不能被恶意提交了,栈码网络作为昆山网站建设的佼佼者,为您提供全方位的网络服务。