dedecms安全配置,添加登录管理认证码

其实就是在后台登录界面添加个表单验证而已。管理认证,应该知道吧。动易、帝国的那种,本地字符验证,而不是数据库验证,所以SQL查询不了。入侵时碰到这种登录最纠结,最无奈的。
首先看看,我们要改的是这2个文件/(后台路径)/templets/login.htm 这是后台登录界面,/(后台路径)/login.php 登录消息的处理文件。
----0x1
我们先来改login.htm文件,可能大家的模板不一样,不过自己改改吧。
这是验证表单是否为空的代码,可以直接放在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 ('请输入您的验证码!');
df.validate.focus();
return(false);
}
if (df.vacodes.value == '') {
alert ('请输入您的认证码!');
df.vacodes.focus();
return(false);
}
}
//-->
</script>

----0x2
这是我的form框架和input提交。其实那个认证码的input 直接复制 用户名的 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>认证码:</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行就有注释 //登录检测 。。我们把验证内嵌在

 代码如下 复制代码
if (!empty($userid) && !empty($pwd)) {
$res = $cuserLogin->checkUser($userid, $pwd);
//success
if ($res == 1) {
里,如下。
if (!empty($userid) && !empty($pwd)) {
$res = $cuserLogin->checkUser($userid, $pwd);
//success
if ($res == 1) {                                                   //嵌套到这里面!
$uservacodes = $_POST['vacodes'];               //取出vacodes内容放入另一个变量
if ($uservacodes != '认证码自定义') {               //自行修改认证码自定义内容!
ResetVdValue();
ShowMsg('认证码不正确!', 'login.php', 0, 1000);       //不等于跑这里
die; www.111cn.net
} else {                                                             //等于就跑这里
$cuserLogin->keepUser();
if (!empty($gotopage)) {
ShowMsg('成功登录,正在转向管理管理主页!', $gotopage);
die;
} else {
$uservacodes = $_POST['vacodes'];
ShowMsg('成功登录,正在转向管理管理主页!', 'index.php');
die;
}
}

解释:先验证图片验证码,在验证用户名,在验证密码,最后验证认证码,以免认证码被爆破。
注意:if的块语句{}一定要对应。不然会出错,可以用Notepad++来修改!
Ps:也可以把认证码比较那里设置成变量,链接到包含的文件里!比如config文件,自己操作吧。个人博客我就不讲究互动性了!其他的网站源码也大同小异,找到登录界面和提交页面,修改之即可。

时间: 2024-09-16 13:42:22

dedecms安全配置,添加登录管理认证码的相关文章

spring secruity 数据库方式配置用户登录

前几天学习了,直接在XML中配置用户密码,利用spring security 登录的例子.这种方式适合做演示,真实的项目在大多数情况下都会用数据库或者LDAP来做用户管理. 所以今天继续学习利用数据库方式配置用户登录, 在前面例子的基础上做,最主要的改变如下: 增加数据库相关的jar包 所有用到的jar包如下,有可能有多余的.  程序代码  代码如下 复制代码 antlr-2.7.7.jar aopalliance.jar commons-logging-1.1.jar jstl-1.1.2.j

为Windows量身定做的登录管理工具

  LimitLogin是微软专门为Windows Server 2003量身定做的一个登录管理工具,其功能十分强大,包括限制域中的用户登录数.分类显示域中任何用户的登录信息.集成至AMD(Active Directory MMC)进行管理配置.生成CSV和XML格式的登录信息,这些功能对普通用户来说意义并不大,但对商业用户,例如银行.图书馆.ISP等行业有着广泛的需求. 下载与安装 目前,微软尚未提供官方站点,如果你感兴趣的话,可以从http://download.microsoft.com/

Linux Mint 18.2 可使用 LightDM 作为默认登录管理器

Clement Lefebvre 今天发布了 2017 年 3 月版的 Linux Mint 月刊,通知基于 Ubuntu 操作系统的用户最新的即将到来的发展. 在文章中,开发人员透露到 Xreader PDF 和文档查看器正在对其用户界面进行改版,该界面将改进工具栏和侧边栏,增加对黑色主题和符号图标的支持,在工具栏中实现新按钮用于快速切换多种视图模式,并使其可在触摸屏上工作. Linux Mint 18.2 将 LightDM 替换 MDM 作为默认登录管理器 另外一个好消息是,即将到来的 L

Windows量身定做的登录管理工具_WindowsXP

LimitLogin是微软专门为Windows Server 2003量身定做的一个登录管理工具,其功能十分强大,包括限制域中的用户登录数.分类显示域中任何用户的登录信息.集成至AMD(Active Directory MMC)进行管理配置.生成CSV和XML格式的登录信息,这些功能对普通用户来说意义并不大,但对商业用户,例如银行.图书馆.ISP等行业有着广泛的需求. 下载与安装 目前,微软尚未提供官方站点,如果你感兴趣的话,可以从http://download.microsoft.com/do

Messenger怎么添加及管理联系人

  登录Messenger后,在程序主窗口中可以看到联系人列表为空,只有添加了联系人才能在网上进行交流.下面系统之家将介绍如何添加及管理联系人. (1)添加联系人 第1步:登录Messenger后,在程序主窗口中单击添加联系人图标. 第2步:弹出"添加联系人"对话框,在"即时消息地址"文本框中输入要添加的联系人邮件地址,单击"添加联系人"按钮即可. (2)管理联系人 为了便于对联系人的皆理,可以根据类別对WindowsLiveMessenger上

asp.net(用户后台无数据表,而是用asp.net配置添加用户管理员的。)

问题描述 asp.net(用户后台无数据表,而是用asp.net配置添加用户管理员的.) 用户后台无数据表,而是用asp.net配置添加用户管理员的.那如何实现用户登录界面,代码该怎么写

Ubuntu系统新建用户并添加到管理组

用recovery mode模式启动后,进入命令行模式,提示符应该是 # 1.输入http://www.aliyun.com/zixun/aggregation/13687.html">用户管理的命令,新建用户(以test为例): useradd test 修改 test 用户的密码: passwd test 2.将新用户添加到管理组: gpasswd -a test admin 3.给 test 用户创建自己的目录: cd /home mkdir test chown test /hom

库-配置QT5.5.0源码包时总出现找不到工具链,各种情况尝试如下:请纠错!!!

问题描述 配置QT5.5.0源码包时总出现找不到工具链,各种情况尝试如下:请纠错!!! 前提: 自己用户的shell:修改了$HOME/.bashrc 中的export PATH=/usr/local/arm/arm-2009q3/bin:$PATH 系统环境变量:修改了/etc/profile 中的 export PATH=/usr/local/arm/arm-2009q3/bin:$PATH 全部用户的shell:修改了/etc/bash.bashrc中的 export PATH=/usr/

domino和tomcat怎么样配置单点登录

问题描述 domino和tomcat怎么样配置单点登录 解决方案 解决方案二:顶同问解决方案三:这个问题很多人都很关心,一句半句也说不清楚,时间.字数有限简要说一下吧.目前来看这个问题还是比较棘手,因为Domino的认证机制对外是不公开的,从反编译它自带的diiop登录资料很复杂,没看出个名目来.又参考Domino跟websphereporta的SSO知道它们是通过LTPA来是实现.要想实现这个需要在tomcat上产生跟Domino一致的session,这也不可能了.只能曲线救国了,通过url传