|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!asp+|serv-u|sql|教程|在线上面是以Serv-U6.0和SqlServer2000相分离的演示。
建表Sql语句:
CREATETABLE[groupaccounts](
[id]intIDENTITY(1,1)PRIMARYKEY,
[Index]intDefault0,
[Name]nVarChar(50)default,
[Notes]nVarChar(255)default
)
CREATEINDEX[Name]on[groupaccounts]([Name])
CREATETABLE[groupdiraccess](
[id]intIDENTITYPRIMARYKEY,
[Access]nVarChar(255)default,
[Index]intDefault0,
[Name]nVarChar(50)default
)
CREATEINDEX[Name]on[groupdiraccess]([Name])
CREATETABLE[groupipaccess](
[id]intIDENTITYPRIMARYKEY,
[Access]nVarChar(255)default,
[Index]intDefault0,
[Name]nVarChar(50)default
)
CREATEINDEX[Name]on[groupipaccess]([Name])
CREATETABLE[useraccounts](
[id]intIDENTITYPRIMARYKEY,
[Access]nVarChar(255)default,
[AlwaysLogin]intDefault0,
[ChangePass]intDefault0,
[Disable]intDefault0,
[Expirationtype]intDefault0,
[Expiration]datetimeDefault1980-1-1,
[Groups]nVarChar(50)default,
[HideHidden]intDefault0,
[HomeDir]nVarChar(100)default,
[idleTimeOut]intDefault0,
[LogMesfile]nVarChar(100)default,
[MaxIp]intDefault-1,
[MaxSpeedDown]decimalDefault0,
[MaxSpeedUp]decimalDefault0,
[MaxUsers]intDefault-1,
[Name]nVarChar(50)default,
[Needsecure]intDefault0,
[Notes]nVarChar(255)default,
[PassType]intDefault0,
[Password]nVarChar(50)default,
[Privilege]intDefault0,
[QuotaCurrent]decimalDefault0,
[QuotaEnable]intDefault0,
[QuotaMax]decimalDefault0,
[RatioCredit]decimalDefault0,
[RatioDown]intDefault0,
[RatioType]intDefault0,
[RatioUP]intDefault0,
[RelPaths]intDefault0,
[SessionTimeOut]intDefault0,
[SkeyValues]nVarChar(50)default
)
CREATEINDEX[Name]on[useraccounts]([Name])
CREATETABLE[userdiraccess](
[id]intIDENTITYPRIMARYKEY,
[Access]nVarChar(255)default,
[Index]intDefault0,
[Name]nVarChar(50)default
)
CREATEINDEX[Name]on[userdiraccess]([Name])
CREATETABLE[useripaccess](
[id]intIDENTITYPRIMARYKEY,
[Access]nVarChar(255)default,
[Index]intDefault0,
[Name]nVarChar(50)default
)
CREATEINDEX[Name]on[useripaccess]([Name])
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,[password]from[useraccounts]wherename="&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="update[useraccounts]set[password]="&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易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 |
|