91豆麻精品91久久久久久,中文在线资源,国产精品女视频,yw.139尤物在线精品视频

?
  歡迎訪問全國企業(yè)網(wǎng)站設(shè)計(jì)NO.1網(wǎng)站開發(fā)商平臺 付款方式
主頁 > 網(wǎng)站建設(shè) > 建站知識 > 織夢dedecms安全配置添加登錄管理認(rèn)證碼

織夢dedecms安全配置添加登錄管理認(rèn)證碼

POST TIME:2020-10-09

織夢dedecms用的人越來越多,也就引來各種關(guān)注,然后就各種漏洞、入侵,最近又爆出了一個(gè)堪稱全版本都有的漏洞,的確,我googlehack了一下,基本上 5.5-5.7 的版本測試都可以,不過MD5是個(gè)硬傷,多余的話就不說了.
 
其實(shí)就是在后臺登錄界面添加個(gè)表單驗(yàn)證而已,管理認(rèn)證,應(yīng)該知道吧,動(dòng)易、帝國的那種,本地字符驗(yàn)證,而不是數(shù)據(jù)庫驗(yàn)證,所以SQL查詢不了,入侵時(shí)碰到這種登錄最糾結(jié),最無奈的.
 
首先看看,我們要改的是這2個(gè)文件/(后臺路徑)/templets/login.htm 這是后臺登錄界面,/(后臺路徑)/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('請輸入用戶名!'); 
df.userid.focus(); 
return false; 
if(df.pwd.value == '') { 
alert('請輸入密碼!'); 
df.pwd.focus(); 
return false; 
if (df.validate.value == '') { 
alert ('請輸入您的驗(yàn)證碼!'); 
df.validate.focus(); 
return(false); 
if (df.vacodes.value == '') { 
alert ('請輸入您的認(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>密&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>認(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)證碼:</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="看不清?點(diǎn)擊更換" 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> 
然后就是提交驗(yàn)證(/login.php)了,代碼第50行就有注釋 //登錄檢測,我們把驗(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; www.111cn.net 
} 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)證碼被爆破.
 
注意:if的塊語句{}一定要對應(yīng),不然會出錯(cuò),可以用Notepad++來修改.
 
也可以把認(rèn)證碼比較那里設(shè)置成變量,鏈接到包含的文件里,比如config文件,自己操作吧,個(gè)人博客我就不講究互動(dòng)性了,其他的網(wǎng)站源碼也大同小異,找到登錄界面和提交頁面,修改之即可.
? 主站蜘蛛池模板: 北辰区| 利川市| 大石桥市| 五莲县| 大足县| 克山县| 清水河县| 铜陵市| 岱山县| 岳西县| 甘南县| 辽中县| 鄯善县| 页游| 离岛区| 静安区| 右玉县| 正定县| 济南市| 行唐县| 安义县| 疏勒县| 图片| 台南县| 邵阳县| 通江县| 西贡区| 永德县| 罗山县| 蓝山县| 泊头市| 辰溪县| 青河县| 罗甸县| 霍邱县| 永清县| 鹤山市| 高陵县| 调兵山市| 洛南县| 临澧县|