dedecms添加登錄管理認(rèn)證碼的方法,DEDE技術(shù)
導(dǎo)讀:DEDE技術(shù)DEDE技術(shù)這篇文章主要為大家介紹了dedecms添加登錄管理認(rèn)證碼的方法,增加認(rèn)證功能進(jìn)而實(shí)現(xiàn)加固dedecms網(wǎng)站安全的目的,是非常實(shí)用的技巧,需要的朋友可以參考下織夢(mèng)cms模板dede免費(fèi)校板下戰(zhàn)。
本文實(shí)例講述了dedecms添加登錄管理認(rèn)證碼的方法。分享給大家供大家參考。具體分析如下:
隨著dedecms用的人越來越多,也就引來各種關(guān)注,然后就各種漏洞、入侵,最近又爆出了一個(gè)堪稱全版本都有的漏洞,的確,我googlehack了一下,基本上 5.5-5.7 的版本測(cè)試都可以,不過MD5是個(gè)硬傷,多余的話就不說了.
其實(shí)就是在后臺(tái)登錄界面添加個(gè)表單驗(yàn)證而已,管理認(rèn)證,應(yīng)該知道吧,動(dòng)易、帝國的那種,本地字符驗(yàn)證,而不是數(shù)據(jù)庫驗(yàn)證,所以SQL查詢不了,入侵時(shí)碰到這種登錄最糾結(jié),最無奈的.
首先看看,我們要改的是這2個(gè)文件/(后臺(tái)路徑)/templets/login.htm 這是后臺(tái)登錄界面,/(后臺(tái)路徑)/login.php 登錄消息的處理文件.
我們先來改login.htm文件,可能大家的模板不一樣,不過自己改改吧,這是驗(yàn)證表單是否為空的代碼,可以直接放在HTML里,也可以link到JS文件里,代碼如下:代碼如下:<script language="javascript"> <!-- var closestr=0; function SetFocus() { var df = document.form1; if(df.userid.value == '') df.userid.focus(); else df.userid.select(); } function CheckForm() { var df = document.form1; if(df.userid.value == '') { alert('請(qǐng)輸入用戶名!'); df.userid.focus(); return false; } if(df.pwd.value == '') { alert('請(qǐng)輸入密碼!'); df.pwd.focus(); return false; } if (df.validate.value == '') { alert ('請(qǐng)輸入您的驗(yàn)證碼!'); df.validate.focus(); return(false); } if (df.vacodes.value == '') { alert ('請(qǐng)輸入您的認(rèn)證碼!'); df.vacodes.focus(); return(false); } } //--> </script>這是我的form框架和input提交,其實(shí)那個(gè)認(rèn)證碼的input 直接復(fù)制用戶名的 input或密碼的input就可以,改下name名就可以了,代碼如下:代碼如下:<form name="form1" id="form1" method="post" action="login.php" onsubmit='return CheckForm();'> <input type="hidden" name="gotopage" value="<?php if(!empty($gotopage)) echo $gotopage;?>" /> <input type="hidden" name="dopost" value="login"/> <ul> <li><span>用戶名:</span> <input type="text" name="userid" class="input_out" maxlength="20" style="width:148px;" onfocus="this.className='input_on';this.onmouseout=''" onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'"/> </li> <li><span>密 碼:</span> <input type="password" name="pwd" class="input_out" maxlength="20" style="width:148px;" onfocus="this.className='input_on';this.onmouseout=''" onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'"/> </li> <li><span>認(rèn)證碼:</span> <input type="password" name="vacodes" class="input_out" maxlength="20" style="width:148px;" onfocus="this.className='input_on';this.onmouseout=''" onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'"/> </li> <li><span>驗(yàn)證碼:<織夢(mèng)模板免費(fèi)/span> <input name="validate" type="text" id="vdcode" style="width:50px;text-transform:uppercase;" onfocus="this.className='input_on';this.onmouseout=''" onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'" class="input_out"/> <img id="vdimgck" src="../inc織夢(mèng)首頁模板lude/vdimgck.php" alt="看不清?點(diǎn)擊更換" align="absmiddle" style="cursor:pointer" onclick="this.src=this.src+'?'"/></li> <span> </span> <input name='Submit' type='image' style='width:60px; HEIGHT: 25px;' src='img/submit.gif' width='60' height='27'/> </li> </ul> </form>然后就是提交驗(yàn)證(/login.php)了,代碼第50行就有注釋 //登錄檢測(cè),我們把驗(yàn)證內(nèi)嵌在如下代碼:代碼如下:if (!emptyempty($userid) && !emptyempty($pwd)) { $res = $cuserLogin->checkUser($userid, $pwd); //success if ($res == 1) { //里,如下。 if (!emptyempty($userid) && !emptyempty($pwd)) { $res = $cuserLogin->checkUser($userid, $pwd); //success if ($res == 1) { //嵌套到這里面! $uservacodes = $_POST['vacodes']; //取出vacodes內(nèi)容放入另一個(gè)變量 if ($uservacodes != '認(rèn)證碼自定義') { //自行修改認(rèn)證碼自定義內(nèi)容! ResetVdValue(); ShowMsg('認(rèn)證碼不正確!', 'login.php', 0, 1000); //不等于跑這里 die; } else { //等于就跑這里 $cuserLogin->keepUser(); if (!emptyempty($gotopage)) { ShowMsg('成功登錄,正在轉(zhuǎn)向管理管理主頁!', $gotopage); die; } else { $uservacodes = $_POST['vacodes']; ShowMsg('成功登錄,正在轉(zhuǎn)向管理管理主頁!', 'index.php'); die; } }解釋:先驗(yàn)證圖片驗(yàn)證碼,在驗(yàn)證用戶名,在驗(yàn)證密碼,最后驗(yàn)證認(rèn)證碼,以免認(rèn)證碼被爆破.
關(guān)鍵詞標(biāo)簽: 標(biāo)簽 DEDE技術(shù) 認(rèn)證碼
聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-07-19 ,文章dedecms添加登錄管理認(rèn)證碼的方法,DEDE技術(shù)主要講述認(rèn)證碼,標(biāo)簽,DEDE技術(shù)網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_30942.html
為你推薦與dedecms添加登錄管理認(rèn)證碼的方法,DEDE技術(shù)相關(guān)的文章
-
dedecms 織夢(mèng)5.7 圖集實(shí)現(xiàn)分頁功能,織夢(mèng)技術(shù)
(51)人喜歡 2023-07-19 -
織夢(mèng)模板如何顯示完整的標(biāo)題,dedecms
(101)人喜歡 2023-07-19 -
DedeCms織夢(mèng)后臺(tái)添加編輯文章空白解決辦法
(195)人喜歡 2023-07-19 -
DedeCMS Error: (PHP 5.3 and above) P,織夢(mèng)文章
(102)人喜歡 2023-07-19 -
織夢(mèng)后臺(tái)登錄界面更改,織夢(mèng)技術(shù)
(88)人喜歡 2023-07-19 -
織夢(mèng)dedecms模塊管理空白不顯示的四種解決
(61)人喜歡 2023-07-19