校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 網站建設 > 建站知識 > 織夢驗證碼參數設置分析

織夢驗證碼參數設置分析

POST TIME:2020-04-11 21:44

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


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

  • 400-1100-266
主站蜘蛛池模板: 阿鲁科尔沁旗| 东阿县| 额济纳旗| 铁力市| 海城市| 铜川市| 乌审旗| 教育| 兰州市| 南江县| 江孜县| 赞皇县| 绥滨县| 双桥区| 云安县| 册亨县| 右玉县| 河池市| 阿坝县| 云安县| 大足县| 红桥区| 永顺县| 崇州市| 张家川| 梓潼县| 右玉县| 南宫市| 泸溪县| 夏邑县| 原阳县| 济南市| 勐海县| 威海市| 赣榆县| 昭觉县| 乐亭县| 迁西县| 老河口市| 呼图壁县| 大方县|