ASP网页编程之ASP+MS SQL在线修正Serv-u的暗码教程
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!asp+|serv-u|sql|教程|在线上面是以Serv-U6.0和SqlServer2000相分离的演示。建表Sql语句:
CREATETABLE(
intIDENTITY(1,1)PRIMARYKEY,
intDefault0,
nVarChar(50)default,
nVarChar(255)default
)
CREATEINDEXon()
CREATETABLE(
intIDENTITYPRIMARYKEY,
nVarChar(255)default,
intDefault0,
nVarChar(50)default
)
CREATEINDEXon()
CREATETABLE(
intIDENTITYPRIMARYKEY,
nVarChar(255)default,
intDefault0,
nVarChar(50)default
)
CREATEINDEXon()
CREATETABLE(
intIDENTITYPRIMARYKEY,
nVarChar(255)default,
intDefault0,
intDefault0,
intDefault0,
intDefault0,
datetimeDefault1980-1-1,
nVarChar(50)default,
intDefault0,
nVarChar(100)default,
intDefault0,
nVarChar(100)default,
intDefault-1,
decimalDefault0,
decimalDefault0,
intDefault-1,
nVarChar(50)default,
intDefault0,
nVarChar(255)default,
intDefault0,
nVarChar(50)default,
intDefault0,
decimalDefault0,
intDefault0,
decimalDefault0,
decimalDefault0,
intDefault0,
intDefault0,
intDefault0,
intDefault0,
intDefault0,
nVarChar(50)default
)
CREATEINDEXon()
CREATETABLE(
intIDENTITYPRIMARYKEY,
nVarChar(255)default,
intDefault0,
nVarChar(50)default
)
CREATEINDEXon()
CREATETABLE(
intIDENTITYPRIMARYKEY,
nVarChar(255)default,
intDefault0,
nVarChar(50)default
)
CREATEINDEXon()
ServUDaemon.ini中的ODBC信息:
ODBCSource=Serv-U||
ODBCTables=useraccounts|groupaccounts|userdiraccess|groupdiraccess|useripaccess|groupipaccess
ODBCColumns=Name|Password|SkeyValues|HomeDir|LogMesfile|Access|Disable|Needsecure|RelPaths|HideHidden|AlwaysLogin|ChangePass|QuotaEnable|MaxIp|MaxSpeedUp|MaxSpeedDown|MaxUsers|idleTimeOut|SessionTimeOut|RatioUP|RatioDown|RatioCredit|QuotaCurrent|QuotaMax|Expiration|Privilege|PassType|RatioType|Groups|Notes|Index
我们使用Serv-U的obdc功效,能够把FTP用户信息存在数据库中,如许对Web操纵便利了良多,上面是在线变动暗码的列子,数据库为Access,表和字段的计划请参考Serv-U的匡助文件。
加密算法为随机码与MD532位加密,比方:
两个随机字母:ab
用户输出暗码:123456
天生的暗码为:ab+MD5(ab123456)
增补:md5前往为32位的年夜写字符,附md5.asp
提醒:代码仅完成变动暗码的功效,其实不必定完整切合或到达您的需求。
<!--#includefile=conn.asp-->
<!--#includefile=include/md5.asp-->
<%
dimact,UserName,OldPassword,NewPassword,reNewPassword
act=Request.form("act")
ifact="update"then
UserName=Request.form("UserName")
OldPassword=Request.form("OldPassword")
NewPassword=Request.form("NewPassword")
reNewPassword=Request.form("reNewPassword")
UserName=Replace(UserName,"","")
iflen(UserName)<1orlen(OldPassword)<1orlen(NewPassword)<1orlen(reNewPassword)<1then
alert("表单没有填写完全")
endif
iftrim(NewPassword)trim(reNewPassword)then
alert("暗码与确认暗码纷歧样")
endif
Sql0="selecttop1name,fromwherename="&UserName&""
setrs0=conn.execute(Sql0)
ifrs0.eofandrs0.bofthen
alert("用户名不存在")
else
dbname=rs0("name")
dbpassword=rs0("password")
endif
cdbpassword=left(dbpassword,2)&md5(left(dbpassword,2)&OldPassword)
iftrim(cdbpassword)trim(dbpassword)then
alert("暗码毛病")
else
rndstr=MyRandc(2)两位随机字母
newdbpassword=rndstr&md5(rndstr&NewPassword)
sql2="updateset="&newdbpassword&"wherename="&UserName&""
conn.execute(sql2)
alert("暗码已变动,大概要几钟后才干失效")
endif
endif
functionalert(x)
response.write"<scriptlanguage=JavaScript>alert("&replace(x,"""","""")&");history.go(-1);</script>"
conn.close
setconn=nothing
response.end
endfunction
functionMyRandc(n)天生随机字符,n为字符的个数
thechr=""
fori=1ton
Randomizetimer
zNum=cint(25*Rnd)
ifzNummod2=0then
zNum=zNum+97
else
zNum=zNum+65
endif
thechr=thechr&chr(zNum)
next
MyRandc=thechr
endfunction
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<METANAME="Author"CONTENT="网页教授教养网">
<METANAME="Keywords"CONTENT="http://www.webjx.com">
<title>变动FTP(Serv-U)暗码-51windows.net</title>
</head>
<body>
<formmethod="POST"action=""name="form"autocomplete="off">
<inputtype="hidden"name="act"value="update">
<divalign="center">
<center>
<tableborder="0"width="480"cellpadding="2"cellspacing="1"class="table"style="border:1solid#336699;font-size:14px;">
<tr>
<tdwidth="100%"align="center"colspan="2"class="title"style="background:#336699;color:#FFFFFF;">变动FTP(Serv-U)暗码</td>
</tr>
<tr>
<tdwidth="30%"align="left"> 用户名[√]:</td>
<tdwidth="70%"><inputclass="input"type="text"maxlength=20name="UserName"size="25"value=""/>(FTP上岸用户名)</td>
</tr>
<tr>
<tdwidth="30%"align="left"> 旧暗码[√]:</td>
<tdwidth="70%"><inputclass="input"type="password"maxlength=20name="OldPassword"size="25"value=""/>(必需输出旧暗码)</td>
</tr>
<tr>
<tdwidth="30%"align="left"> 新暗码[√]:</td>
<tdwidth="70%"><inputclass="input"type="password"name="NewPassword"size="25"value=""/>(输出新暗码)</td>
</tr>
<tr>
<tdwidth="30%"align="left"> 确 认[√]:</td>
<tdwidth="70%"><inputclass="input"type="password"name="reNewPassword"size="25"value=""/>(再次输出新暗码)</td>
</tr>
<tr>
<tdwidth="100%"height="30"align="center"colspan="2"><inputstyle="font-size:14px;"type="submit"size="10"value="确定"class=button></td>
</tr>
</table>
</center>
</div>
</html>
<%
setrs=nothing
conn.close
setconn=nothing
%>
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 那么,ASP.Net有哪些改进呢? 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件) 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
页:
[1]