明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

ASP+MS SQL在线更改Serv-u的密码

[摘要]针对一些虚拟主机管理软件 的确应该去深入了解 :)下面是以Serv-U 6.0和Sql Server 2000相结合的演示。 建表Sql 语句:CREATE TABLE [groupaccount...

针对一些虚拟主机管理软件 的确应该去深入了解 :)

下面是以Serv-U 6.0和Sql Server 2000相结合的演示。

建表Sql 语句:

CREATE TABLE [groupaccounts] (

[id] int IDENTITY (1,1) PRIMARY KEY,

[Index] int Default 0,

[Name] nVarChar(50) default '''''''',

[Notes] nVarChar(255) default ''''''''

)

CREATE INDEX [Name] on [groupaccounts]([Name] )

CREATE TABLE [groupdiraccess] (

[id] int IDENTITY PRIMARY KEY,

[Access] nVarChar(255) default '''''''',

[Index] int Default 0,

[Name] nVarChar(50) default ''''''''

)

CREATE INDEX [Name] on [groupdiraccess]([Name] )

CREATE TABLE [groupipaccess] (

[id] int IDENTITY PRIMARY KEY,

[Access] nVarChar(255) default '''''''',

[Index] int Default 0,

[Name] nVarChar(50) default ''''''''

)

CREATE INDEX [Name] on [groupipaccess]([Name] )

CREATE TABLE [useraccounts] (

[id] int IDENTITY PRIMARY KEY,

[Access] nVarChar(255) default '''''''',

[AlwaysLogin] int Default 0,

[ChangePass] int Default 0,

[Disable] int Default 0,

[Expirationtype] int Default 0,

[Expiration] datetime Default ''''1980-1-1'''',

[Groups] nVarChar(50) default '''''''',

[HideHidden] int Default 0,

[HomeDir] nVarChar(100) default '''''''',

[idleTimeOut] int Default 0,

[LogMesfile] nVarChar(100) default '''''''',

[MaxIp] int Default -1,

[MaxSpeedDown] decimal Default 0,

[MaxSpeedUp] decimal Default 0,

[MaxUsers] int Default -1,

[Name] nVarChar(50) default '''''''',

[Needsecure] int Default 0,

[Notes] nVarChar(255) default '''''''',

[PassType] int Default 0,

[Password] nVarChar(50) default '''''''',

[Privilege] int Default 0,

[QuotaCurrent] decimal Default 0,

[QuotaEnable] int Default 0,

[QuotaMax] decimal Default 0,

[RatioCredit] decimal Default 0,

[RatioDown] int Default 0,

[RatioType] int Default 0,

[RatioUP] int Default 0,

[RelPaths] int Default 0,

[SessionTimeOut] int Default 0,

[SkeyValues] nVarChar(50) default ''''''''

)

CREATE INDEX [Name] on [useraccounts]([Name] )

CREATE TABLE [userdiraccess] (

[id] int IDENTITY PRIMARY KEY,

[Access] nVarChar(255) default '''''''',

[Index] int Default 0,

[Name] nVarChar(50) default ''''''''

)

CREATE INDEX [Name] on [userdiraccess]([Name] )

CREATE TABLE [useripaccess] (

[id] int IDENTITY PRIMARY KEY,

[Access] nVarChar(255) default '''''''',

[Index] int Default 0,

[Name] nVarChar(50) default ''''''''

)

CREATE INDEX [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

加密算法为随机码与MD5 32 位加密, 例如:

两个随机字母:ab

用户输入密码:123456

生成的密码为:ab + MD5(ab123456)

提示:代码仅实现更改密码的功能, 并不一定完全符合或达到您的需求。

<!--#include file=''''conn.asp''''-->

<!--#include file=''''include/md5.asp''''-->

<%

dim act,UserName,OldPassword,NewPassword,reNewPassword

act = Request.form("act")

if act = "update" then

UserName = Request.form("UserName")

OldPassword = Request.form("OldPassword")

NewPassword = Request.form("NewPassword")

reNewPassword = Request.form("reNewPassword")

UserName = Replace(UserName,"''''","''''")

if len(UserName)<1 or len(OldPassword)<1 or len(NewPassword)<1 or len(reNewPassword)<1 then

alert("表单没有填写完整")

end if

if trim(NewPassword)<>trim(reNewPassword) then

alert("密码与确认密码不一样")

end if

Sql0 = "select top 1 name,[password] from [useraccounts] where name = ''''"& UserName &"''''"

set rs0 = conn.execute(Sql0)

if rs0.eof and rs0.bof then

alert("用户名不存在")

else

dbname = rs0("name")

dbpassword = rs0("password")

end if

cdbpassword = left(dbpassword,2) & md5(left(dbpassword,2) & OldPassword)

if trim(cdbpassword) <> trim(dbpassword) then

alert("密码错误")

else

rndstr = MyRandc(2) ''''两位随机字母

newdbpassword = rndstr & md5(rndstr & NewPassword)

sql2 = "update [useraccounts] set [password] = ''''"& newdbpassword &"'''' where name=''''"& UserName &"''''"

conn.execute(sql2)

alert("密码已经更改, 可能要几钟后才能生效")

end if

end if

function alert(x)

response.write "<script language=''''JavaScript''''>alert(''''"& replace(x,"""","\""") &"'''');history.go(-1);</script>"

conn.close

set conn = nothing

response.end

end function

function MyRandc(n)''''生成随机字符, n为字符的个数

thechr = ""

for i=1 to n

Randomize timer

zNum = cint(25*Rnd)

if zNum mod 2 = 0 then

zNum = zNum + 97

else

zNum = zNum + 65

end if

thechr = thechr & chr(zNum)

next

MyRandc = thechr

end function

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<META NAME="Author" CONTENT="海娃(51windows)">

<META NAME="Keywords" CONTENT="windows.net/" target=_blank>http://www.51windows.Net">

<title>更改FTP (Serv-U) 密码 - 51windows.net</title>

</head>

<body>

<form method="POST" action="" name="form" autocomplete="off">

<input type="hidden" name="act" value="update">

<div align="center">

<center>

  <table border="0" width="480" cellpadding="2" cellspacing="1" class="table" style="border: 1 solid #336699;font-size:14px;">

  <tr>

    <td width="100%" align="center" colspan="2" class="title" style="background:#336699;color:#FFFFFF;">更改FTP (Serv-U) 密码</td>

  </tr>

  <tr>

    <td width="30%" align="left"> 用户名[√]:

u无垠育I\h网D供i5d[I

e8A^qO]6`_vH

</td>

    <td width="70%"><input class="input" type="text" maxlength=20 name="UserName" size="25" value="" /> (FTP登陆用户名)</td>

  </tr>

  <tr>

    <td width="30%" align="left"> 旧密码[√]:

MSu)A#wEigy\@zK

</td>

    <td width="70%"><input class="input" type="password" maxlength=20 name="OldPassword" size="25" value="" /> (必须输入旧密码)</td>

  </tr>

  <tr>

    <td width="30%" align="left"> 新密码[√]:

业2网z?中t]业s网:

</td>

    <td width="70%"><input class="input" type="password" name="NewPassword" size="25" value="" /> (输入新密码)</td>

  </tr>

  <tr>

    <td width="30%" align="left"> 确 认[√]:</td>

    <td width="70%"><input class="input" type="password" name="reNewPassword" size="25" value="" /> (再次输入新密码)</td>

  </tr>

  <tr>

    <td width="100%" height="30" align="center" colspan="2"><input style="font-size:14px;" type="submit" size="10" value="确 定" class=button></td>

  </tr>

  </table>

</center>

</div>

</html>

<%

set rs = nothing

conn.close

set conn = nothing

%>


上面是电脑上网安全的一些基础常识,学习了安全知识,几乎可以让你免费电脑中毒的烦扰。