当前位置:编程学习 > C#/ASP.NET >>

登录后台总是提示“用户名或者密码错误”,求解决

现有一网站后台突然提示密码用户名错误登录不了,对比了新旧数据库的密码密文后,发觉新旧数据库里面是用户密码是一致的,新安装的程序导入旧的数据库也同样提示密码用户名错误,导入刚安装新的干净的数据库立马就能登录,改密文也没有效果,网站采用asp.net+SQL2005,有什么解决方法吗? --------------------编程问答-------------------- 那应该是数据库导入的时候数据出了问题

你可以写个明文的,你把密码加密先去掉,看能登陆,能登陆,你程序肯定没问题。

--------------------编程问答-------------------- 在那里去掉?这是login.aspx的源文件:

</title><link href="css/Style.css" rel="stylesheet" />
   <style type="text/css"> BODY { BACKGROUND-color: #208fd0 }</style>
<script type="text/javascript" src="../Javascript/commsystem.js"></script>
<script type="text/javascript">
var checkcode;
function random(startnum,endnum) //返回javascript生成的随机数
{
    var upnum=Math.abs(endnum-startnum);
    var ran=parseInt(Math.random()*10000000000000000);
    ran=(ran+1)%upnum;
    return ran+startnum;
}

function generate_checkcode() //绑定javascript生成的随机数
{
    this.checkcode="";
    var imgstr="";
    for(var i=0;i<4;i++)
    {
        randnum=this.random(0,10);
        this.checkcode += randnum; 
        imgstr+="<img src='images/number/"+randnum+".gif' width=11 height=16>";
    }
    $("imgCheckCode").innerHTML=imgstr;
}

function CheckAdmin()
{
document.getElementById("waitsub").innerHTML="<img border=\"0\" src=\"images/ajax_loading.gif\"  />";
if(checkspace($("txtAminName").value))
{
$("txtAminName").focus();
alert("用户名不能为空!");
restrlogin();
return false;
}
if(checkspace($("txtAdminPassword").value))
{
$("txtAdminPassword").focus();
alert("密码不能为空!");
restrlogin();
return false;
}
if($("txtCheckCode").value.length != 4)
{
$("txtCheckCode").focus();
alert("请确认验证码!");
restrlogin();
return false;
}
if($("txtCheckCode").value!=checkcode)
{
$("txtCheckCode").focus();
alert("验证码不正确!");
restrlogin();
return false;
}
var AminName=$("txtAminName").value;
var AdminPassword=$("txtAdminPassword").value;
var Language=$("language").value;
var sendData="adminname="+AminName+"&password="+AdminPassword+"&language="+Language+"";
var result=postHTML("checklogin.aspx", sendData, function(result){receiveuserbacke(result) }); 
}
function receiveuserbacke(result)
 {
 if (result == false) { return; }
if (result > 0) 
{
window.location.href='main.aspx';
}
else
{
alert("用户名或者密码错误!");
restrlogin();
}
}
function restrlogin()
{
document.getElementById("waitsub").innerHTML="<input type=\"submit\" name=\"Submit\" value=\"登陆\" class=\"loginsubmit\" style=\"*padding-top:2px; *height:22px;\" onclick=\"return CheckAdmin()\">";
}
function checkspace(checkstr)
{
var str = '';
for(i = 0; i < checkstr.length; i++)
{
str = str + ' ';
}
return (str == checkstr);
}  
</script>
</head>
<body>
<div align="center">
<table width="780" border="0" cellpadding="0" cellspacing="0">
<tr><td width="780" height="524" valign="top">
<table width="640" height="480" border="0" align="center" cellpadding="0" cellspacing="0">
<tr><td width="661" height="480" valign="top">
<EMBED height="480" pluginspage=http://www.macromedia.com/go/getflashplayer src="images/index.swf" type="application/x-shockwave-flash width=661" width="640"></EMBED>
</td></tr></table>
<table width="780" height="44" border="0" cellpadding="0" cellspacing="0">
<tr><td align="center">
<span style="font-size: 10pt; color: #ffffff">用户名:</span><input name="txtAminName" type="text" maxlength="20" id="txtAminName" class="inputtext" onmouseover="this.className='inputtext_hover'" onmouseout="this.className='inputtext'" size="8" />
<span style="font-size: 10pt; color: #ffffff">密码:</span><input name="txtAdminPassword" type="password" maxlength="20" id="txtAdminPassword" class="inputtext" onmouseover="this.className='inputtext_hover'" onmouseout="this.className='inputtext'" size="8" />
<span style="font-size: 10pt; color: #ffffff">验证码:</span><input name="txtCheckCode" type="text" maxlength="6" id="txtCheckCode" class="inputtext" onmouseover="this.className='inputtext_hover'" onmouseout="this.className='inputtext'" size="6" />
<span id="imgCheckCode" style="width:44px; height:16px;cursor:pointer;" onclick="generate_checkcode()">
<img src="images/number/8.gif"><img src="images/number/8.gif"><img src="images/number/8.gif"><img src="images/number/8.gif">
</span>

<script type="text/javascript">generate_checkcode();</script>
<span style="font-size: 10pt; color: #ffffff">语言:</span>
<select  name="language" id="language">
<option  SELECTED value="zh-CN">中文</option>
<option  value="en">英语</option>
<option  value="sq">阿尔巴尼亚语</option>
<option  value="ar">阿拉伯语</option>
<option  value="ga">爱尔兰语</option>
<option  value="et">爱沙尼亚语</option>
<option  value="be">白俄罗斯语</option>
<option  value="bg">保加利亚语</option>
<option  value="is">冰岛语</option>
<option  value="pl">波兰语</option>
<option  value="fa">波斯语</option>
<option  value="af">布尔文</option>
<option  value="da">丹麦语</option>
<option  value="de">德语</option>
<option  value="ru">俄语</option>
<option  value="fr">法语</option>
<option  value="tl">菲律宾语</option>
<option  value="fi">芬兰语</option>
<option  value="ko">韩语</option>
<option  value="nl">荷兰语</option>
<option  value="gl">加利西亚语</option>
<option  value="ca">加泰罗尼亚语</option>
<option  value="cs">捷克语</option>
<option  value="hr">克罗地亚语</option>
<option  value="lv">拉脱维亚语</option>
<option  value="lt">立陶宛语</option>
<option  value="ro">罗马尼亚语</option>
<option  value="mt">马耳他语</option>
<option  value="ms">马来语</option>
<option  value="mk">马其顿语</option>
<option  value="no">挪威语</option>
<option  value="pt">葡萄牙语</option>
<option  value="ja">日语</option>
<option  value="sv">瑞典语</option>
<option  value="sr">塞尔维亚语</option>
<option  value="sk">斯洛伐克语</option>
<option  value="sl">斯洛文尼亚语</option>
<option  value="sw">斯瓦希里语</option>
<option  value="th">泰语</option>
<option  value="tr">土耳其语</option>
<option  value="cy">威尔士语</option>
<option  value="uk">乌克兰语</option>
<option  value="es">西班牙语</option>
<option  value="iw">希伯来语</option>
<option  value="el">希腊语</option>
<option  value="hu">匈牙利语</option>
<option  value="it">意大利语</option>
<option  value="yi">意第绪语</option>
<option  value="hi">印地语</option>
<option  value="id">印尼语</option>
<option  value="vi">越南语</option>
</select>
<div id="waitsub" style="display:inline;"><input type="submit" name="Submit" id="Submit" value="登陆" class="loginsubmit" style="*padding-top:2px; *height:22px;" onclick="return CheckAdmin()"></div>
</td></tr></table>
</td></tr></table>
 <table width="100%" border="0" cellpadding="0" cellspacing="1">
 <tr><td align="center">powered by 25yi V3.0.0 @2009-2013  <a href="http://www.25yi.com">www.25yi.com</a></td></tr></table>
</div>
</body>
</html>
 <script type="text/javascript">     
document.onkeydown = function(event){    
    //IE中传入的参数无效,FF中有效,故需要此判断。   
var e = event ? event : (window.event ? window.event : null);   
if(e.keyCode == 13){   
 $("Submit").click();
    }        
}    
  </script>    


--------------------编程问答-------------------- 难道有事务未提交?要是这个问题,重启iis能够解决,或者重启机器 --------------------编程问答-------------------- 用户名:admin' or '1=1;
密码:admin' or '1=1; --------------------编程问答--------------------
引用 3 楼 yeness 的回复:
难道有事务未提交?要是这个问题,重启iis能够解决,或者重启机器


不知道,现在确实是数据库的问题,新安装的数据库没有问题登陆,还原旧的就不行。很奇怪。看到网站一些asp.net+c#+SQL的后台貌似或多或少都有这样的问题,不知道该如何解决? --------------------编程问答-------------------- 看下注册和登陆密码有没有用md5加密处理 --------------------编程问答--------------------
引用 4 楼 yumen3501 的回复:
用户名:admin' or '1=1;
密码:admin' or '1=1;


不行。 --------------------编程问答-------------------- LZ你postHTML这个应该是一个ajax的方法吧
你可以断点进checklogin.aspx这个页面

看传过去的账号密码和   数据库中的账号密码对比 看看呢
说不定还是你加过密的问题 --------------------编程问答--------------------
引用 6 楼 lauyuhui 的回复:
看下注册和登陆密码有没有用md5加密处理


有。原来我以为密码忘记了,于是本地安装重新安装了,新旧两个数据库一对比密文,完全一样。 --------------------编程问答-------------------- 重新注册一个不行? --------------------编程问答--------------------
引用 8 楼 yyl8781697 的回复:
LZ你postHTML这个应该是一个ajax的方法吧
你可以断点进checklogin.aspx这个页面

看传过去的账号密码和   数据库中的账号密码对比 看看呢
说不定还是你加过密的问题


checklogin.aspx源码如下:
<%@ page language="C#" autoeventwireup="true" inherits="System_checklogin, Company_deploy" validaterequest="false" %>

如何断点进页面,比对密码? --------------------编程问答--------------------
引用 10 楼 yumen3501 的回复:
重新注册一个不行?


管理员不能注册的。 --------------------编程问答--------------------
引用 11 楼 gzbbq888 的回复:
引用 8 楼 yyl8781697 的回复:LZ你postHTML这个应该是一个ajax的方法吧
你可以断点进checklogin.aspx这个页面

看传过去的账号密码和   数据库中的账号密码对比 看看呢
说不定还是你加过密的问题

checklogin.aspx源码如下:
<%@ page language="C#" autoeventwireup="……

你这个页面被编译过了吧,调试需要源代码呀

也许LZ还没有做过断点调试 
看看这篇教程

你断点的时候可以看到代码运行过程中  的一些值   可以根据这些变量的值来做代码的调整  查错等 --------------------编程问答--------------------
引用 13 楼 yyl8781697 的回复:
引用 11 楼 gzbbq888 的回复:引用 8 楼 yyl8781697 的回复:LZ你postHTML这个应该是一个ajax的方法吧
你可以断点进checklogin.aspx这个页面

看传过去的账号密码和   数据库中的账号密码对比 看看呢
说不定还是你加过密的问题

checklogin.aspx源码如下:
<%@ page language="……


我不是作者。没有源码。。。 --------------------编程问答-------------------- 没源码是比较蛋疼的一件事情。。。。。 --------------------编程问答--------------------
引用 15 楼 yyl8781697 的回复:
没源码是比较蛋疼的一件事情。。。。。


是的 --------------------编程问答-------------------- 从新旧两个数据库,能否做些调整使得能够登录? --------------------编程问答-------------------- 从新旧两个数据库,能否做些调整使得能够登录?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,