国产欧美二区三区-国产欧美高清-国产欧美国产精品第二区-国产欧美国产精品第一区-小说区 图片区-小说区 综合区 都市激情

當(dāng)前位置: 首頁 > 站長資訊 > 正文頁面

dedecms添加登錄管理認(rèn)證碼的方法

本文實(shí)例講述了dedecms添加登錄管理認(rèn)證碼的方法。分享給大家供大家參考。具體分析如下:S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

隨著dedecms用的人越來越多,也就引來各種關(guān)注,然后就各種漏洞、入侵,最近又爆出了一個堪稱全版本都有的漏洞,的確,我googlehack了一下,基本上 5.5-5.7 的版本測試都可以,不過MD5是個硬傷,多余的話就不說了.S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

其實(shí)就是在后臺登錄界面添加個表單驗(yàn)證而已,管理認(rèn)證,應(yīng)該知道吧,動易、帝國的那種,本地字符驗(yàn)證,而不是數(shù)據(jù)庫驗(yàn)證,所以SQL查詢不了,入侵時碰到這種登錄最糾結(jié),最無奈的.S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

首先看看,我們要改的是這2個文件/(后臺路徑)/templets/login.htm 這是后臺登錄界面,/(后臺路徑)/login.php 登錄消息的處理文件.S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

我們先來改login.htm文件,可能大家的模板不一樣,不過自己改改吧,這是驗(yàn)證表單是否為空的代碼,可以直接放在HTML里,也可以link到JS文件里,S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<script language="javascript">S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<!--S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

var closestr=0;S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

function SetFocus() {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

var df = document.form1;S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if(df.userid.value == '')S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

df.userid.focus();S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

elseS4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

df.userid.select();S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

}S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

function CheckForm() {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

var df = document.form1;S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if(df.userid.value == '') {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

alert('請輸入用戶名!');S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

df.userid.focus();S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

return false;S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

}S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if(df.pwd.value == '') {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

alert('請輸入密碼!');S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

df.pwd.focus();S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

return false;S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

}S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if (df.validate.value == '') {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

alert ('請輸入您的驗(yàn)證碼!');S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

df.validate.focus();S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

return(false);S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

}S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if (df.vacodes.value == '') {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

alert ('請輸入您的認(rèn)證碼!');S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

df.vacodes.focus();S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

return(false);S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

}S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

}S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

//-->S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

</script>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

這是我的form框架和input提交,其實(shí)那個認(rèn)證碼的input 直接復(fù)制用戶名的 input或密碼的input就可以,改下name名就可以了,S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<form name="form1" id="form1" method="post" action="login.php" onsubmit='return CheckForm();'>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<input type="hidden" name="gotopage" value="<?php if(!empty($gotopage)) echo $gotopage;?>" />S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<input type="hidden" name="dopost" value="login"/>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<ul>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<li><span>用戶名:</span>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<input type="text" name="userid" class="input_out" maxlength="20" style="width:148px;" onfocus="this.className='input_on';this.onmouseout=''" S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口
onblur="this.className='input_off';this.onmouseout=function(){this.className='input_out'};" onmousemove="this.className='input_move'" onmouseout="this.className='input_out'"/>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

</li>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<li><span>密&nbsp;&nbsp;碼:</span>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<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'"/>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

</li>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<li><span>認(rèn)證碼:</span>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<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'"/>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

</li>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<li><span>驗(yàn)證碼:</span>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<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"/>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<img id="vdimgck" src="../include/vdimgck.php" alt="看不清?點(diǎn)擊更換" align="absmiddle" style="cursor:pointer" onclick="this.src=this.src+'?'"/></li>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<span>&nbsp;</span>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

<input name='Submit' type='image' style='width:60px; HEIGHT: 25px;' src='img/submit.gif' width='60' height='27'/>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

</li>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

</ul>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

</form>S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

然后就是提交驗(yàn)證(/login.php)了,代碼第50行就有注釋 //登錄檢測,我們把驗(yàn)證內(nèi)嵌在如下代碼:S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if (!emptyempty($userid) && !emptyempty($pwd)) {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

$res = $cuserLogin->checkUser($userid, $pwd);S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

//successS4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if ($res == 1) {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

//里,如下。S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if (!emptyempty($userid) && !emptyempty($pwd)) {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

$res = $cuserLogin->checkUser($userid, $pwd);S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

//successS4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if ($res == 1) { //嵌套到這里面!S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

$uservacodes = $_POST['vacodes']; //取出vacodes內(nèi)容放入另一個變量S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if ($uservacodes != '認(rèn)證碼自定義') { //自行修改認(rèn)證碼自定義內(nèi)容!S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

ResetVdValue();S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

ShowMsg('認(rèn)證碼不正確!', 'login.php', 0, 1000); //不等于跑這里S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

die;S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

} else { //等于就跑這里S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

$cuserLogin->keepUser();S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

if (!emptyempty($gotopage)) {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

ShowMsg('成功登錄,正在轉(zhuǎn)向管理管理主頁!', $gotopage);S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

die;S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

} else {S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

$uservacodes = $_POST['vacodes'];S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

ShowMsg('成功登錄,正在轉(zhuǎn)向管理管理主頁!', 'index.php');S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

die;S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

}S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

}S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

解釋:先驗(yàn)證圖片驗(yàn)證碼,在驗(yàn)證用戶名,在驗(yàn)證密碼,最后驗(yàn)證認(rèn)證碼,以免認(rèn)證碼被爆破.S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

注意:if的塊語句{}一定要對應(yīng),不然會出錯,可以用Notepad++來修改.S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

也可以把認(rèn)證碼比較那里設(shè)置成變量,鏈接到包含的文件里,比如config文件,自己操作吧,個人博客我就不講究互動性了,其他的網(wǎng)站源碼也大同小異,找到登錄界面和提交頁面,修改之即可.S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

希望本文所述對大家的dedecms建站有所幫助。S4J網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口

  

此文由 網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口 編輯,未經(jīng)允許不得轉(zhuǎn)載!:

相關(guān)文章