dedecms自定義表單增加驗(yàn)證碼的方法分享
發(fā)布時(shí)間:2012-02-10 17:03:24 作者:佚名
我要評(píng)論

在很多建站需求中,需要一些額外的表單供前臺(tái)用戶提交。以便于收集、統(tǒng)計(jì)、分析及處理更多的數(shù)據(jù)。比如:在線訂單、在線報(bào)名等一些常見的互動(dòng)應(yīng)用
利用織夢(mèng)內(nèi)容管理系統(tǒng)(DedeCMS)自帶提供的自定義表單功能即可滿足大多數(shù)的此類需求。
通過給自定義表單加入驗(yàn)證碼的功能,可以防止一些用戶惡意提交。
1、先進(jìn)入DedeCMS后臺(tái)生成自定義表單。
2、在自定義表單模板中添加驗(yàn)證碼代碼,如下:
<input name="validate" type="text" id="vdcode" style="text-transform:uppercase;" size="8"/>
<img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?點(diǎn)擊更換" src="../include/vdimgck.php"/>
<a href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a>
3、在當(dāng)前頁添加JS代碼,如下:
<script type="text/javascript" language="javascript">
//驗(yàn)證碼
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;//這里寫的域名地址如http://www.dbjr.com.cn
}
return false;
}
</script>
4、修改訂單處理頁面,打開網(wǎng)站根目錄/plus/diy.php文件, 添加驗(yàn)證代碼到第61行左右位置。如下:
if(!empty($dede_fields))
{
$validate = empty($validate) ? '' : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue());
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ ResetVdValue();
ShowMsg('驗(yàn)證碼不正確!',$dede_add,0,1000);
exit;
}
通過給自定義表單加入驗(yàn)證碼的功能,可以防止一些用戶惡意提交。
1、先進(jìn)入DedeCMS后臺(tái)生成自定義表單。
2、在自定義表單模板中添加驗(yàn)證碼代碼,如下:
復(fù)制代碼
代碼如下:<input name="validate" type="text" id="vdcode" style="text-transform:uppercase;" size="8"/>
<img id="vdimgck" align="absmiddle" onClick="this.src=this.src+'?'" style="cursor: pointer;" alt="看不清?點(diǎn)擊更換" src="../include/vdimgck.php"/>
<a href="javascript:vide(-1);" onClick="changeAuthCode();">看不清? </a>
3、在當(dāng)前頁添加JS代碼,如下:
復(fù)制代碼
代碼如下:<script type="text/javascript" language="javascript">
//驗(yàn)證碼
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;//這里寫的域名地址如http://www.dbjr.com.cn
}
return false;
}
</script>
4、修改訂單處理頁面,打開網(wǎng)站根目錄/plus/diy.php文件, 添加驗(yàn)證代碼到第61行左右位置。如下:
復(fù)制代碼
代碼如下:if(!empty($dede_fields))
{
$validate = empty($validate) ? '' : strtolower(trim($validate)); $svali = strtolower(GetCkVdValue());
if(($validate=='' || $validate != $svali) && preg_match("/6/",$safe_gdopen)){ ResetVdValue();
ShowMsg('驗(yàn)證碼不正確!',$dede_add,0,1000);
exit;
}
相關(guān)文章
DEDECMS 后臺(tái)驗(yàn)證碼圖片不顯示的多種解決方法
在使用dedecms過程中,偶爾會(huì)遇到DEDECMS 后臺(tái)驗(yàn)證碼圖片不顯示的情況,可以是gd庫問題,也可能是轉(zhuǎn)移data目錄導(dǎo)致調(diào)用路徑出錯(cuò)等2013-04-26DEDECMS轉(zhuǎn)移data目錄后 驗(yàn)證碼不顯示解決辦法
今天幫一客戶將dedecms的安全設(shè)置下,將data轉(zhuǎn)換到別的目錄,結(jié)果驗(yàn)證碼不顯示了,這里簡(jiǎn)單的設(shè)置下,解決了,特分享下方便需要的朋友2013-04-26Dede后臺(tái)驗(yàn)證碼不顯示解決方法詳解(dedecms 5.7)
今天朋友問我他本地與服務(wù)器上安裝了dedecms5.7無法顯示驗(yàn)證碼,一般這種情況很少見,一般情況就是服務(wù)器設(shè)置問題,還有臨時(shí)目錄的權(quán)限問題2012-12-17織夢(mèng)dedecms站點(diǎn)data目錄位置變動(dòng)調(diào)整驗(yàn)證碼不顯示的解決辦法
為了安全,我們可以將織夢(mèng)CMS站點(diǎn)data目錄移到上一級(jí)目錄,或者改為其他名字2012-02-20織夢(mèng)dedecms 去掉后臺(tái)登陸驗(yàn)證碼的方法
大家好,今天給大家講解下織夢(mèng)技巧的織夢(mèng)去掉后臺(tái)登陸驗(yàn)證碼,大家在使用織夢(mèng)程序的時(shí)候會(huì)登陸后臺(tái),會(huì)發(fā)現(xiàn)每次登陸后臺(tái)都要輸入驗(yàn)證碼2011-05-20DedeCMS 驗(yàn)證碼不正確的解決方法(php配置問題)
最近幫客戶服務(wù)器安全配置,同時(shí)升級(jí)php 5.2.17版本,因?yàn)榭蛻舫绦蛴玫氖莇edecms,登錄后提交總是驗(yàn)證碼不正確,其實(shí)只要是用了session認(rèn)證的后臺(tái)都會(huì)出現(xiàn)這個(gè)問題。2011-03-28- 有時(shí)候感覺加了驗(yàn)證碼,為互動(dòng)帶來了麻煩,如果垃圾廣告很少的話可以取消,下面是具體的實(shí)現(xiàn)方法。2009-10-16
DEDE驗(yàn)證碼輸出的時(shí)只顯示數(shù)字方法
大家好今天給大家講解下織夢(mèng)技巧的把dedecms字母驗(yàn)證碼修改成數(shù)字的方法2009-06-06DEDE取消發(fā)表文章時(shí)去掉驗(yàn)證碼
關(guān)鍵字描述:dede 取消 發(fā)表文章 驗(yàn)證碼 網(wǎng)站 關(guān)閉 后臺(tái) 我的一個(gè)DEDECMS的網(wǎng)站里面所有的東西都是自己發(fā)布的,所以不需要驗(yàn)證碼! DEDE默認(rèn)是有驗(yàn)證碼的,而且后2009-06-06dedecms驗(yàn)證碼點(diǎn)擊刷新功能的增加
關(guān)鍵字描述:增加 刷新 點(diǎn)擊 驗(yàn)證 " 這個(gè) 修改 vdcode" src 有時(shí)候dedecms驗(yàn)證碼很模糊,填好了許多內(nèi)容又要整個(gè)頁面刷新很麻煩! 這個(gè)功能直接點(diǎn)擊驗(yàn)證碼即可2009-06-06