午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    dedecms添加登錄管理認證碼的方法
    來源:易賢網(wǎng) 閱讀:872 次 日期:2015-03-04 11:32:34
    溫馨提示:易賢網(wǎng)小編為您整理了“dedecms添加登錄管理認證碼的方法”,方便廣大網(wǎng)友查閱!

    本文實例講述了dedecms添加登錄管理認證碼的方法。分享給大家供大家參考。具體分析如下:

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

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

    首先看看,我們要改的是這2個文件/(后臺路徑)/templets/login.htm 這是后臺登錄界面,/(后臺路徑)/login.php 登錄消息的處理文件.

    我們先來改login.htm文件,可能大家的模板不一樣,不過自己改改吧,這是驗證表單是否為空的代碼,可以直接放在HTML里,也可以link到JS文件里,代碼如下:

    復(fù)制代碼代碼如下:<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('請輸入用戶名!');

    df.userid.focus();

    return false;

    }

    if(df.pwd.value == '') {

    alert('請輸入密碼!');

    df.pwd.focus();

    return false;

    }

    if (df.validate.value == '') {

    alert ('請輸入您的驗證碼!');

    df.validate.focus();

    return(false);

    }

    if (df.vacodes.value == '') {

    alert ('請輸入您的認證碼!');

    df.vacodes.focus();

    return(false);

    }

    }

    //-->

    </script>

    這是我的form框架和input提交,其實那個認證碼的input 直接復(fù)制用戶名的 input或密碼的input就可以,改下name名就可以了,代碼如下:

    復(fù)制代碼代碼如下:<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>密&nbsp;&nbsp;碼:</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>認證碼:</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>驗證碼:</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="../include/vdimgck.php" alt="看不清?點擊更換" align="absmiddle" style="cursor:pointer" onclick="this.src=this.src+'?'"/></li>

    <span>&nbsp;</span>

    <input name='Submit' type='image' style='width:60px; HEIGHT: 25px;' src='img/submit.gif' width='60' height='27'/>

    </li>

    </ul>

    </form>

    然后就是提交驗證(/login.php)了,代碼第50行就有注釋 //登錄檢測,我們把驗證內(nèi)嵌在如下代碼:

    復(fù)制代碼代碼如下: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)容放入另一個變量

    if ($uservacodes != '認證碼自定義') { //自行修改認證碼自定義內(nèi)容!

    ResetVdValue();

    ShowMsg('認證碼不正確!', '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;

    }

    }

    解釋:先驗證圖片驗證碼,在驗證用戶名,在驗證密碼,最后驗證認證碼,以免認證碼被爆破.

    注意:if的塊語句{}一定要對應(yīng),不然會出錯,可以用Notepad++來修改.

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

    希望本文所述對大家的dedecms建站有所幫助。

    更多信息請查看IT技術(shù)專欄

    更多信息請查看CMS教程
    易賢網(wǎng)手機網(wǎng)站地址:dedecms添加登錄管理認證碼的方法
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇剩?/div>
    相關(guān)閱讀CMS教程

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)