asp中<>是什么意思?

chengjinhui01 2010-07-01 01:20:34
if adminpass<>rs("adminpass") then
rs("adminpass")=md5(adminpass)


这个语句啥意思!?
...全文
147 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengjinhui01 2010-07-01
[Quote=引用 9 楼 uvvvw 的回复:]
if adminpass<>rs("adminpass") then
rs("adminpass")=md5(adminpass)
end if


从这个逻辑上来说,adminpass是没有md5加密的。所以永远不会等于 rs("adminpass")

所以,也就是说,永远都会改掉密码的。

但为什么没改掉,我感觉原因应该不是在这里。
[/Quote]

是不是跟网站的config.asp页面有关系.这个页面是干什么的阿!
config.asp代码

<%Set rs5 = Server.CreateObject("ADODB.Recordset")
rs5.open"[system]",conn,1,3%>
<%titlename=rs5("title")
url=rs5("url")
adminmail=rs5("adminmail")
adminname=rs5("adminname")
adminpass=rs5("adminpass")
pagesize=rs5("pagesize")
numa=rs5("num")

rs5("num")=numa+1
rs5.update
rs5.close%>
<%set rs5=nothing%>
回复
chengjinhui01 2010-07-01
[Quote=引用 8 楼 chengjinhui01 的回复:]
受教了,对于没接触过asp菜鸟的我,很感谢.我试试,不行再问您!
[/Quote]
不过话说回来...问题不在这里在哪里呢?
<%
'Option Explicit
On Error Resume Next
Systemdir=""
Admindir="admin"
Datadir="data"
Sysdatabase="#chuan18#.mdb"
If systemdir<>"" then
Systemdir="/" & Systemdir
end if

Database =Systemdir & "/" & Datadir & "/" & Sysdatabase


Connstr = "DBQ="+server.mappath(database)+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set Conn=Server.CreateObject("ADODB.connection")
Conn.open Connstr
%>
这是conn的代码.路径有错误么?
是根目录下的data/#chuan18#.mdb
回复
chengjinhui01 2010-07-01
[Quote=引用 9 楼 uvvvw 的回复:]
if adminpass<>rs("adminpass") then
rs("adminpass")=md5(adminpass)
end if


从这个逻辑上来说,adminpass是没有md5加密的。所以永远不会等于 rs("adminpass")

所以,也就是说,永远都会改掉密码的。

但为什么没改掉,我感觉原因应该不是在这里。
[/Quote]


恩,你分析的很对,showbo的方法我觉得还是可取的.毕竟一步直接替换掉原来的密码是不严谨的.
所以.感谢两位...我受益匪浅!
回复
uvvvw 2010-07-01
if adminpass<>rs("adminpass") then
rs("adminpass")=md5(adminpass)
end if


从这个逻辑上来说,adminpass是没有md5加密的。所以永远不会等于 rs("adminpass")

所以,也就是说,永远都会改掉密码的。

但为什么没改掉,我感觉原因应该不是在这里。
回复
chengjinhui01 2010-07-01
受教了,对于没接触过asp菜鸟的我,很感谢.我试试,不行再问您!
回复
这样没意义啊,你要有一个旧密码输入框,还有一个新密码输入框,你拿新的和原来的对比只有新密码输入和旧的一样了才跟新了。。

oldpwd=request.form("oldpwd")'旧密码
adminpass=Request.Form("adminpass")'不要replace替换,要不密码有'的话你就得变成2个''了,因为是md5加密过的
'....
'...其他代码包括取rs的
if md5(oldpwd)=rs("adminpass") then'加密旧密码和原来的对比,如果正确就用新密码更新
rs("adminpass")=md5(adminpass)
end if
回复
chengjinhui01 2010-07-01
你的意思是怎么改?
if md5(adminpass)<>rs("adminpass") then
rs("adminpass")=md5(adminpass)
end if

这样行不?
回复
adminpass=Replace(Request.Form("adminpass"),"'","''")  '这里建议也不会要sql注入了,反正要md5加密,加密后不会出现'这个字符
'...
'...
'你的密码修改逻辑视乎有问题吧,你这里如果填写了和原来的密码不一致,永远修改不了密码吧。
'且就算要对比原来的密码,你也需要先md5加密过才能比较,要不就算输入对久密码了也这个判断也会不通过
if adminpass<>rs("adminpass") then
rs("adminpass")=md5(adminpass)
end if
回复
chengjinhui01 2010-07-01
飘 哥.问题没有解决阿!
<!--#include file="md5.asp"-->
<!--#include file="../inc/conn.asp"-->
<%if session("adminlogin")<>true then response.Redirect("login.asp")%>
<%
titlename=Replace(Request.Form("titlename"),"'","''")
adminmail=Replace(Request.Form("adminmail"),"'","''")
url=Replace(Request.Form("url"),"'","''")
adminname=Replace(Request.Form("adminname"),"'","''")
adminpass=Replace(Request.Form("adminpass"),"'","''")
pagesize=Replace(Request.Form("pagesize"),"'","''")
set rs=server.CreateObject("adodb.recordset")
rs.Open "select * from system",conn,1,3
if adminpass<>rs("adminpass") then
rs("adminpass")=md5(adminpass)
end if
rs("title")=titlename
rs("adminmail")=adminmail
rs("adminname")=adminname
rs("url")=url
rs("pagesize")=pagesize
rs.update
rs.close%>
修改成功!<a href="system.asp">请返回</a><%set rs=nothing%>


有错误么.
回复
lerok 2010-07-01
這..好像..太基礎了吧..
回复
uvvvw 2010-07-01
......
回复
灬上海爽爷 2010-07-01
不等于。。
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告