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

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

浏览次数:

作者:管理员

来源: 邈瀚云

发布时间:2019-08-12 09:28

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

  • 文章内容
  • 相关内容

在用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自定义表单中添加验证码的方法

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


  • 152点击
    经常有织梦用户站长咨询AB模板网:在做网站尤其是做企业网站的时候总是会发现调用文章不合适的事情发生,调用的文章的关键词总是没有我们想要的。 比如我们网站里有很多文章中含有“织梦技术,dede”的词,那么想在网站首...
  • 239点击
    这是一个菜鸟站长很困惑的问题,如何让首页地址中不显示index.html呢?我们先来看一下显示的效果图。 在上图中,当我们输入网址:www.adminbuy.cn 后,页面打开时,域名网址的后边右斜杠增加一...
  • 171点击
    织梦是目前使用最多的cms,其良好的搜索引擎优化功能使得很多在建设企业站的时候都使用织梦cms, 对于织梦很多有利于优化的方面我们比较熟悉的就有织梦的tag标签,tag标签的功能就是让有一些相同关键词的网站可以得以聚合,...
  • 135点击
    织梦默认只允许上传 jpg,gif,png 格式的图片文件,如果想要上传ico图标格式文件或者其他格式图片文件需要做如下几步 1.后台-系统-系统基本参数-附件设置-图片浏览器文件类型 添加 |ico 如图,注意有个 | 竖线 2.打开 /include/dialog/se...
  • 222点击
    两步搞定dedecmsv5.7版本的tag标签限制12字节,dedecms5.7版本和以往的版本不一样,修改方法也不一样,具体做法如下: 一、点击“系统”——“SQL命令行工具”在输入框内输入以下2行,然后确定即可。 alter table `dede_taglist` change `tag...