織夢dedecms驗證碼參數(shù)設(shè)置分析
所有的織夢dedecms 為了安全起見,都設(shè)置驗證碼或驗證問題,這樣不僅可以防止黑客攻擊,更重要的是一個系統(tǒng)標(biāo)準(zhǔn)標(biāo)志,實力的象征,這樣說可能感覺有點夸張,但是不管怎么樣驗證問題,確實是一個系統(tǒng)所必須的??棄衾锩娴膸缀跛杏脩籼峤坏臄?shù)據(jù)都有驗證碼或驗證問答,這樣可以對系統(tǒng)作一個安全處理,但是,有時候,我們自己學(xué)習(xí)用,并不需要這個驗證問題。本教程主要講解如何設(shè)置驗證問題,以及驗證的原理分析。
第一個問題,如何去掉驗證碼?這個簡單只要在后臺:系統(tǒng)——>驗證安全設(shè)置里面,取消復(fù)選框即可,在這里我們不僅發(fā)現(xiàn),所有與驗證有關(guān)的設(shè)置都在這里了,如下圖所示。
織夢后臺這個小功能,只是對驗證進(jìn)行配置,當(dāng)我們選中或取消某個驗證,例如,我們?nèi)∠麜T投稿這個驗證,點擊保存后,當(dāng)注冊會員,在發(fā)布內(nèi)容后,點提交時,就不用填寫驗證碼了,如果取消驗證問答,那么,用戶發(fā)有會員中心發(fā)布內(nèi)容后,也不用去驗證。
原理分析:
如上圖所示,驗證碼參數(shù)設(shè)置里面所有東西,當(dāng)我們點擊確定后,就會被提交到后綴文件dede/sys_safe.php 里面,在這個文件里面,最核心的就是里面的這三行代碼:
$fp = fopen($safeconfigfile, "w") or die("寫入文件 $safeconfigfile 失敗,請檢查權(quán)限!");
fwrite($fp, $configstr);
fclose($fp);
這三行代碼上面的,全是對于提交過來的內(nèi)容進(jìn)行處理后,放入變量$configstr里面了,當(dāng)執(zhí)行到這三行代碼時,首先打開文件 $safeconfigfile = data/safe/inc_safe_config.php,然后,把我們在“驗證碼參數(shù)設(shè)置”所有配置內(nèi)容,都寫入到文件inc_safe_config.php這里面。這樣當(dāng)我們在前臺或后臺或者其它地方,用是不是需要驗證碼問題時,我們只需要,判斷一下在inc_safe_config.php這個文件里面,是否有配置選擇,如果有,則顯示驗證信息,這個判斷一般用正則匹配系統(tǒng)函數(shù)preg_match(正則,字符串)來進(jìn)行的。
我們舉一例子來模似這一過程,然后,再做總結(jié)。
例如,我們以會員投稿是否開啟為例,當(dāng)我們選中會員投稿,即開啟會員在投稿時的驗證,然后,點確實,這時我們打開配置后的文件inc_safe_config.php,發(fā)現(xiàn)第一行$safe_gdopen = '1,2,3,4,5,7';這個里面中的數(shù)字3,就是會
員投稿,這個與后臺的“驗證碼參數(shù)設(shè)置”,一一對應(yīng),當(dāng)safe_gdopen=3時,表示,開啟了會員在投稿時,需要驗證,否則驗證不顯示。
現(xiàn)在進(jìn)入會員中心,當(dāng)點擊發(fā)布文章時,發(fā)現(xiàn)下面有了驗證碼,如下圖所示。
我們進(jìn)入文件article_add.htm里面,找到這段代碼, if(preg_match("/3/",$safe_gdopen)),正是這段代碼才使得會員投稿時,顯示或不顯示會員驗證功能。當(dāng)我們在“驗證碼參數(shù)設(shè)置” 里面,取消會員投稿后,我們會發(fā)現(xiàn),前
臺會員投稿消失。其它的驗證原理都一樣,這里不一一分析了。
總結(jié):當(dāng)我們設(shè)計配置文件時,可以參照織夢這種方法,織夢后綴所有的配置方式都差不多,跟這個類似——設(shè)計配置模板,然后,寫一個php文件處理這個配置模板里面接收到的參數(shù),然后,把這些參數(shù),通過系統(tǒng)函數(shù)fopen()打開配置文件,通過fwrite 寫入這些配置參數(shù),然后,關(guān)閉這個文件,這樣,當(dāng)我們在后臺配置后,就可以實時通過這三個系統(tǒng)函數(shù),進(jìn)行動態(tài)寫入操作,讓這個文件與我們后臺配置的參數(shù)保持一致,這樣我們在前臺或后臺,或者其它地方,只要把配置文件引入,然后,判斷一下我們在后臺配置的值有沒有,若有則需要驗證,否則不驗證。
其實,織夢dedecms后臺里面的所有,配置,例如,系統(tǒng)——>系統(tǒng)基本參數(shù)里面,所以的,都是以這種方式,來配置的,以后我們進(jìn)行織夢二次開發(fā),或自己進(jìn)行系統(tǒng)框架開發(fā)都可以對這個小功能進(jìn)行參考。
上一篇:在織夢dedecms的位置導(dǎo)航中增加其他屬性的方法
欄 目:dedecms
下一篇:織夢dedecms調(diào)用頂級欄目和二級欄目分類顯示
本文標(biāo)題:織夢dedecms驗證碼參數(shù)設(shè)置分析
本文地址:http://mengdiqiu.com.cn/a1/dedecms/16135.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織夢教程:后臺編輯器添加中文字體方法