織夢DedeCMS自定義表單中添加驗證碼的方法
在用DedeCMS的時候,通過自定義表單來做在線留言,這個確實比織夢自帶的留言簿模塊要方便,但是實現(xiàn)起來還是諸多bug。所以還是用Dede的自定義表單來實現(xiàn)比較靠譜,但是使用自定義表單之后,因為沒有加驗證碼,導(dǎo)致一段時間內(nèi)被人惡意攻擊,填寫了幾千個留言,頭都大了,只好去數(shù)據(jù)庫中批量刪除。此時之后,淘站網(wǎng)就加深了這個驗證碼的認(rèn)識,不論什么樣的表單,一定要記得加上驗證碼。
今天,淘站網(wǎng)就說說如何在DedeCMS的自定義表單中添加驗證碼,雖然在網(wǎng)上有很多教程,但是測試了大部分,發(fā)現(xiàn)都不適用,淘站網(wǎng)還是自己研究一下,終于自己搞定。淘站網(wǎng)測試的DedeCMS版本為DedeCMS V5.7 SP1,大家可以參考一下。
一、修改自定義表單控制文件
1.打開/plus/diy.php文件,在頭部隨意位置加上代碼(網(wǎng)站開通了會員功能模塊必加,沒有開通會員功能則略過此步):
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文件(如果模版中已經(jīng)引用了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>
完成后,測試一下,效果如下圖:
是不是完美實現(xiàn)了自定義表單中添加驗證碼功能?媽媽再也不怕我的網(wǎng)站被惡意提交表單了!
上一篇:織夢DedeCMS自定義圖片字段調(diào)用方法與無斜杠“/”的解決方法
欄 目:dedecms
下一篇:織夢DedeCMS上傳圖片出現(xiàn)Upload filetype not allow的解決方法
本文標(biāo)題:織夢DedeCMS自定義表單中添加驗證碼的方法
本文地址:http://mengdiqiu.com.cn/a1/dedecms/16287.html
您可能感興趣的文章
- 08-05Dedecms文件目錄結(jié)構(gòu)解說(能知道織夢每個文件有什么用)
- 08-05Dedecms5.7版ckeditor網(wǎng)頁編輯器添加中文字體
- 08-05織夢DedeCMS獲取當(dāng)前欄目文章數(shù)量
- 08-05織夢模板如何添加和調(diào)用自定義字段的方法
- 08-05DedeCMS后臺模塊列表顯示空白的解決辦法
- 08-05DedeCMS自定義字段圖片調(diào)用的問題{dede:img ...}解決方法
- 08-05織夢DedeCMS調(diào)用顯示discuz里面主題的方法
- 08-05限制織夢會員每天投稿數(shù)量方法
- 08-05常用的織夢dedecms安全設(shè)置集合整理
- 08-05織夢教程:后臺編輯器添加中文字體方法