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

解决方案 »

  1.   

    在那里去掉?这是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>    
      

  2.   

    难道有事务未提交?要是这个问题,重启iis能够解决,或者重启机器
      

  3.   

    用户名:admin' or '1=1;
    密码:admin' or '1=1;
      

  4.   


    不知道,现在确实是数据库的问题,新安装的数据库没有问题登陆,还原旧的就不行。很奇怪。看到网站一些asp.net+c#+SQL的后台貌似或多或少都有这样的问题,不知道该如何解决?
      

  5.   

    LZ你postHTML这个应该是一个ajax的方法吧
    你可以断点进checklogin.aspx这个页面看传过去的账号密码和   数据库中的账号密码对比 看看呢
    说不定还是你加过密的问题
      

  6.   


    checklogin.aspx源码如下:
    <%@ page language="C#" autoeventwireup="true" inherits="System_checklogin, Company_deploy" validaterequest="false" %>如何断点进页面,比对密码?