请问高手,如何判断用户输入的password是否与数据库中的password相等?

slider 2001-06-18 12:40:00
请问高手,如何判断用户输入的password是否与数据库中的password相等?
(或者说如何是使select语句得到的password和form中的txtpassword进行比较)
最好能举个例子
...全文
298 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DragonJiang 2001-06-18
  • 打赏
  • 举报
回复
假设有一个数据库,数据库名为Test表,表名为User,你输入用户名与密码的地方是TextBox 名字分别为txtUserName和txtPassword
则可以按下面的来写:

Dim cnTemp As New ADODB.Connection
Dim rsTemp as New ADODB.RecordSet

cnTemp.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Test";Persist Security Info=False"
cnTemp.Open
rsTemp.Open "Select * From [User] Where User.UserName='"+txtUserName.Text+"',cnTemp,adOpenKeyset, adLockOptimistic

if txtPassword.text=rs.Field("Password") then
msgbox "登录成功"
else
msgbox "登录失败"
endif

rsTemp.close
cnTemp.close
set rstemp=nothing
set cntemp=nothing

看的明白吗?
明白了给分,我要分
不明白也给分,
再发Mail给我 Dragon_utc@china.com
QQ:10808188
syzaol 2001-06-18
  • 打赏
  • 举报
回复


Private Sub cmdok_Click()
'ToDo: 创建测试密码是否正确
'检查正确密码
Dim pwdtext As String
Dim user As String
Dim userquery As String
user = txtusername.Text
pwdtext = txtpassword.Text

Set dbm = New Connection
dbm.CursorLocation = adUseClient
dbm.Open "PROVIDER=MSDASQL;dsn=kaoqin1;uid=;pwd=;"

Set adoPrimaryRS = New Recordset
userquery = "select pass from userinfo where username='" & user & "'"
adoPrimaryRS.Open userquery, dbm, adOpenStatic, adLockOptimistic
If Not (adoPrimaryRS.BOF And adoPrimaryRS.EOF) Then
'此用户存在
If adoPrimaryRS!pass = pwdtext Then
OK = True
Unload Me

Else: MsgBox "密码错误,再试一次!", , "登录"
txtpassword.SetFocus
txtpassword.SelStart = 0
txtpassword.SelLength = Len(txtpassword.Text)
End If
Uname = user
adoPrimaryRS.Close
Set adoPrimaryRS = Nothing
dbm.Close
Set dbm = Nothing
txtpassword.Text = ""
Else: MsgBox "无此用户,重试!", , "警告"
txtusername.SetFocus
txtusername.SelStart = 0
txtusername.SelLength = Len(txtpassword.Text)
End If

End Sub

很好用,你做一下修改就可以了
cqq_chen 2001-06-18
  • 打赏
  • 举报
回复
DragonJiang(飞龙)
给的挺详细的了,应该得分。
不过一般情况下PASSWORD都要通过加密的,所以应该再加一些东东比较些。
jisheng 2001-06-18
  • 打赏
  • 举报
回复
什么?不明白也有分?呵~~
SQL注入1 简介 许多现实对于网站的攻击往往是由于网站没有及时更新或者对于用户输入没有进行检查。从缓冲区溢出说起,这样一种针对系统脆弱性的威胁,最根本的问题还是在于对于用户输入没有进行检查。作为主要威胁之一的SQL注入带来了人们对于其应用和数据库的担忧。这个问题的出现有十年的时间了,但是现在仍旧在许多网站出现。SQL注入就像许多当前主要的的web应用安全攻击问题也被划归在了对于用户输入的检查上。 正文 许多web开发者并不知道SQL语句能够被自定义(handle)并且假定SQL语句是一个让人信任的命令。这就让SQL语句能够绕过访问控制机制(access control),因此跳过标准的授权和认证检查。甚至有些时候SQL语句能够允许使用服务器操作系统上的命令行的权限。 直接的SQL注入命令是一种方法,它被攻击者构造或者是修改现成的SQL命令来暴露出隐藏的数据或者是覆盖掉有价值的数据,甚至在服务器上执行危险地系统指令 入门 结构化的语言是数据库的标准声明语言。这让(语言)变的更加简洁并且更易于使用。SQL起源于70年代的IBM实验室。SQL被用来让应用程序与数据库之间进行通信。 SQL使用如下的4种语言来对数据库进行操作 SELECT -从数据库获得一条记录 INSERT-向数据库插入一条记录 DELETE-从数据库删除一条记录 UPDATE-从数据库更新或者改变当前记录 当用户提交的语句被用作数据库的查询语句时SQL就能够发生。比如当用户被网站认证授权,用户发送一个带有”用户名”和”密码”的信息,用户名/密码就与存放在数据库的内容进行核对。如果相同的话用户就被允许登录,否则用户登录失败。以下是一个在后台进行登录的例子。 代码 SELECT * FROM user WHERE username='$username' AND password='$password' 这个语句简单地指明了从user的表查询用户名和username相等的,并且密码和password相等的。所以,如果用户发送用户名为”admin”,并且密码为”12345″,那么SQL语句被创建如下: SELECT * FROM user WHERE username='admin' AND password ='12345' 注入 那么,如果用户输入’ or ’1′=’1,第一个引号会终止输入的字符串,剩下的会被当做SQL语句,并且在SQL语句1=1恒为真,这就能够让我们绕过注册机制 SELECT * FROM user WHERE username=’admin’ AND password =”or ’1′=’1′ -TRUE 上述是一个SQL注入的简单地例子,然而在实际过程,SQL注入比这要复杂的多。在我们的渗透测试,大多数时候我们有一个非常紧凑的计划表,所以这个时候我们需要一个自动化的攻击来为我们进行注入攻击。 SQLMAP就是一能够利用(系统)脆弱性的工具。它是开源的,并经常被用来在Python写的脆弱的DBMS上进行入侵的渗透测试。它能够检测并利用SQL上的漏洞,让我们举例在操作系统和数据库上使用sqlmap.py。 一步一步 我将尽可能地以最简洁的方式展示出来。 最常见的检测SQL注入的方法是通过在输入处添加一个单引号(')并且期待(系统)返回一个错误,有些应用程序并不会返回错误。这个时候我们就会利用true/false语句来检查是否这个应用程序会受到SQL注入的攻击。 为了随机的找到还有SQL注入的脆弱性的网站,你能够使用如下格式的语句利用google dork:inurl:news.php id =1?将会出现一堆google dork的数据并且为你过滤你搜索得到的结果提供了可能。那么让那个我们开始吧。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧