AB模板網:專注于dede模板,織夢源碼,織夢模板,網站模板,dedecms模板,網站源碼,dedecms教程以及各類手機網站模板和企業網站模板分享.
用戶名:
密碼:
注冊

織夢模板

VIP

織夢DedeCMS自定義表單中添加驗證碼的方法

www.iiarqe.tw / 2019-06-01

在用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自定義表單中添加驗證碼的方法

是不是完美實現了自定義表單中添加驗證碼功能?媽媽再也不怕我的網站被惡意提交表單了!

本文由AB模板網:織夢模板整理發布,轉載請說明出處:http://www.iiarqe.tw
首頁 免費模板 VIP專區 會員中心
收縮
辽宁35选7每周开奖日期