婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > 織夢(mèng)驗(yàn)證碼參數(shù)設(shè)置分析

織夢(mèng)驗(yàn)證碼參數(shù)設(shè)置分析

POST TIME:2020-04-11 21:44

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


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 凉山| 莱西市| 康乐县| 怀仁县| 德格县| 中江县| 宁海县| 久治县| 高碑店市| 衡山县| 广东省| 建水县| 徐闻县| 永泰县| 武冈市| 建阳市| 清丰县| 北安市| 巢湖市| 仁怀市| 清徐县| 吉安县| 崇州市| 达孜县| 深水埗区| 锦州市| 航空| 贞丰县| 思南县| 锦屏县| 水富县| 仪陇县| 陵川县| 朝阳区| 鲁山县| 县级市| 泰来县| 西城区| 林西县| 搜索| 绥德县|