CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

登陆的简单问题■■■■■■■■■

楼主kgdfukfuk(★★★★★)2005-04-04 14:49:25 在 Web 开发 / ASP 提问

登陆系统已经做好了,但是出现一个问题;假如我数据库如下:  
  name           pass  
    1                 1  
    2                 2  
    3                 3  
   
  共有三个用户,我用第一个用户名1   密码1     可以进入,     但是用第二个和第三个用户就不可以了。  
  应该怎样解决,sql="select   *   from   book"  
   
  问题点数:10、回复次数:10Top

1 楼AntinomyArt(.)回复于 2005-04-04 14:53:44 得分 0

sql   =   "select   *   from   book   where   name='"&   request.form("name")&"'   and   pass   =   '"&request.form("pass")&"'"Top

2 楼ryuginka(一米八五的猪)回复于 2005-04-04 15:04:52 得分 1

sql   =   "select   *   from   book   where   name='"&   request.form("name")&"'   and   pass   =   '"&request.form("pass")&"'"  
  如果输入单引号就会出错了.Top

3 楼hinavy(风中的那滴血)回复于 2005-04-04 15:12:59 得分 2

二楼的登陆方法不可取,如果是网站后台,稍一不小心,就给人留下漏洞,  
   
  sqlstr="select   *   from   user   where   username='"&request("user_name")&"'"  
  set   rs=conn.execute(sqlstr)  
  if   rs.eof   then  
  response.write   "无此用户名"  
  else  
          if   rs("user_pass")=request("pass")   then  
                  response.write   "Login   Pass"  
          else  
                  response.write   "密码出错"  
          end   if  
  end   if  
   
   
  还要做一些对非法字符过滤之类的,这样用户登陆就安全了,呵Top

4 楼kgdfukfuk(★★★★★)回复于 2005-04-04 15:27:57 得分 0

<!--#include   file="conn.asp"   -->  
  <%  
  exec="select   *   from   book   where   name='"&request("name")&"'"  
  Set   rs   =   Server.CreateObject("adodb.RecordSet")    
  rs.Open   exec,   Conn,   1,   1  
   
  if   rs.eof   then  
  response.write   "无此用户名"  
  else  
          if   rs("pass")=request("pass")   then  
                  response.redirect   "ok.asp"  
          else  
                  response.write   "密码出错"  
          end   if  
  end   if  
  %>  
   
  不管我输入什么,他都提示     无此用户名Top

5 楼xumw()回复于 2005-04-05 08:44:13 得分 2

if   not   rs.eof   thenTop

6 楼heirychen(小老鼠)回复于 2005-04-05 11:07:43 得分 1

怎么会这样呢?你这样试试吧:  
   
  rs.Open   exec,   Conn,   1,   1  
   
  改为  
  rs.Open   exec,   Conn,   3,3  
   
  更改打开方式试试看,不过不知道可不可以。我以前有过问题后来这样就OK了:(Top

7 楼heirychen(小老鼠)回复于 2005-04-05 11:11:28 得分 1

exec="select   *   from   book   where   name='"&request("name")&"'"  
  Set   rs   =   Server.CreateObject("adodb.RecordSet")    
   
  这里换个方法,用command对象试试看。  
  server.createobject("adodb.command"),这样写理解起来简单一些,用得也方便,用不着分页嘛,就不用那么麻烦:)Top

8 楼BibbyZhang()回复于 2005-04-05 11:25:18 得分 1

楼上的,他只是查询数据库,好象不需要将  
   
  rs.Open   exec,   Conn,   1,   1  
   
  改为  
   
  rs.Open   exec,   Conn,   3,   3  
  Top

9 楼zyddamon(狗尾巴草)回复于 2005-04-05 11:38:57 得分 2

<!--#include   file="conn.asp"   -->  
  <%  
  exec="select   *   from   book   where   name='"&request("name")&"'"  
  Set   rs   =   Server.CreateObject("adodb.RecordSet")    
  rs.Open   exec,   Conn,   1,   3  
  if   not   rs.eof   then  
   
          if   rs("pass")=request("pass")   then  
                  response.redirect   "ok.asp"  
          else  
                  response.write   "密码出错"  
          end   if  
   
  else  
          response.write   "无此用户名"  
  end   if  
  %>  
   
  准行Top

10 楼wxf0104(西方失败007)回复于 2005-04-05 12:11:08 得分 0

楼上的没错,只是在传递值的时候加一些过滤,避免有漏洞,OK~~Top

相关问题

  • 登陆的简单问题。
  • 简单的登陆问题.
  • 求简单登陆源代码
  • 简单的窗体登陆问题!
  • ASP.NET 中用户登陆简单问题.
  • WinForm的简单编程,登陆问题
  • sa登陆的简单问题
  • 简单的登陆界面不能登陆
  • 关于简单的密码登陆界面!!救急呀!!
  • XP Home Edition 的登陆简单小问题!

关键词

  • 用户
  • sql
  • 登陆
  • pass
  • rs
  • 问题
  • conn
  • open exec
  • request
  • from book

得分解答快速导航

  • 帖主:kgdfukfuk
  • ryuginka
  • hinavy
  • xumw
  • heirychen
  • heirychen
  • BibbyZhang
  • zyddamon

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo