ASP + Serv-u 实现FTP的代码
<!--#include file="md5.asp"-->
<%
**************************************************
* 作者:awaysrain(绝对零度) *
* 完成时间:2003-10-10 *
* 测试环境:WIN2000SERVER,SERV-U 4.2-beta版 *
**************************************************
Dim iniPath,iniFileName,iniStr,tmpStr,n
Dim userName,passWord,tmp
userName = "myfso222" 用户名
passWord = "awaysrain" 密码
tmp = "ai" 随机生成两个小写字母,(应该是随机生成的,但是我这里省略了)
passWord = tmp & UCase(md5(passWord)) 密码,是MD5加密过的,用动网的MD5加密程序,具体算法是随机生成两位小写字母,然后和你的密码连接后进行MD5加密,把随机生成的密码和MD5加密后的结果作为密码存放,举个例子来说比如下面的awaysrain用户,我的密码为awaysrain先随机生成两位小写字母ai,和我的密码awaysrain连接得到aiawaysrain把aiawaysrain进行MD5加密得到9118BFD94A9CE9CF37AE5BAA947ED596把随机生成两位小写字母ai和MD5加密后的结果9118BFD94A9CE9CF37AE5BAA947ED596连接得到密码ai9118BFD94A9CE9CF37AE5BAA947ED596
iniPath="D:Program FilesServ-U" ini文件的路径
iniFileName = "ServUDaemon.ini" ini的文件名
Set fso=Server.CreateObject("Scripting.FileSystemObject")
Set ServUIni = fso.OpenTextFile(iniPath & "" & iniFileName,1,false)
iniStr = ""
n = 0
addedUserList = false
Set tf = fso.CreateTextFile(iniPath & "" & iniFileName & "._awaysrain.tmp", True)
生成新的临时INI文件
Do While not ServUIni.AtEndOfStream
tmpStr = ServUIni.ReadLine
If Instr("awaysrain||" & tmpStr,"awaysrain||User")>0 Then
记录用户原来的数量
n = n+1
End If
If Instr("awaysrain||" & tmpStr,"awaysrain||[USER=")>0 and not addedUserList Then
往用户列表的部分添加现在的用户
n = n +1
tf.WriteLine("User" & n & "=" & userName & "|1|0")
addedUserList = true
End If
tf.WriteLine(tmpStr)
Loop
ServUIni.Close
添加新用户的信息,具体内容可以在SERV-U中新建用户并对照INI文件
tf.WriteLine("[USER=" & userName & "|1]") 用户名
tf.WriteLine("Password=" & passWord) 密码
tf.WriteLine("HomeDir=e: emp") 主目录
tf.WriteLine("RelPaths=1") 是否锁定用户于主目录
tf.WriteLine("MaxUsersLoginPerIP=1") 相同IP同时登录数
tf.WriteLine("SpeedLimitDown=102400") 最大下载速度
tf.WriteLine("TimeOut=600") 空闲超时时间(秒)
tf.WriteLine("access(小型网站之最爱)1=E:Temp|RLP") 可访问目录,可以不是一个,比如 access(小型网站之最爱)2=E:Temp1|RLP
tf.Close
--------------------备份原来的INI文件--------------------------
Set f1 = fso.GetFile(iniPath & "" & iniFileName)
f1.Copy (iniPath & "" & iniFileName & "._awaysrain.bak")
f1.Delete
--------------------把生成的临时INI文件改为正式的INI--------------------------
Set f1 = fso.GetFile(iniPath & "" & iniFileName & "._awaysrain.tmp")
f1.Copy (iniPath & "" & iniFileName)
f1.Delete
Set fso = nothing
%>
注:以上代码假设ServUDaemon.ini中的格式只有一个域并已经至少有一个用户
测试的ServUDaemon.ini文件结构如下:
==================================
[Domain1]
User1=222|1|0
User2=myfso111|1|0
[USER=222|1]
Password=hwB1ECF70CDAF5DAE2B981AE394EEFCDC0
HomeDir=E:Temp
相关新闻>>
- 发表评论
-
- 最新评论 更多>>