轉帖|其它|編輯:郝浩|2008-09-16 13:41:22.000|閱讀 1253 次
概述:ASP + Serv-u 實現FTP的代碼
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
<!--#include file="md5.asp"--> <!--md5源碼見//www.aspprogram.cn/soft.asp?id=39-->
<%
Dim iniPath,iniFileName,iniStr,tmpStr,n
Dim userName,passWord,tmp
userName = "myfso222" '用戶名
passWord = "awaysrain" '密碼
tmp = "ai" '隨機生成兩個小寫字母,(應該是隨機生成的,但是我這里省略了)
passWord = tmp & UCase(md5(passWord)) '密碼是D5加密過的,用動網的MD5加密程序,具體算法是隨機生成兩位小寫字母,然后和你的密碼連接后進行MD5加密,把隨機生成的密碼和MD5加密后的結果作為密碼存放,舉個例子來說比如下面的awaysrain用戶,我的密碼為awaysrain先隨機生成兩位小寫字母ai,和我的密碼awaysrain連接得到aiawaysrain把aiawaysrain進行MD5加密得到9118BFD94A9CE9CF37AE5BAA947ED596把隨機生成兩位小寫字母ai和MD5加密后的結果9118BFD94A9CE9CF37AE5BAA947ED596連接得到密碼ai9118BFD94A9CE9CF37AE5BAA947ED596
iniPath="D:\Program Files\Serv-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 [SPAN]
'添加新用戶的信息,具體內容可以在SERV-U中新建用戶并對照INI文件
tf.WriteLine("[USER=" & userName & "|1]") '用戶名
tf.WriteLine("Password=" & passWord) '密碼
tf.WriteLine("HomeDir=e:\temp") '主目錄
tf.WriteLine("RelPaths=1") '是否鎖定用戶于主目錄
tf.WriteLine("MaxUsersLoginPerIP=1") '相同IP同時登錄數
tf.WriteLine("SpeedLimitDown=102400") '最大下載速度
tf.WriteLine("TimeOut=600") '空閑超時時間(秒)
tf.WriteLine("Access1=E:\Temp|RLP") '可訪問目錄,可以不是一個,比如 'Access2=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
RelPaths=1
TimeOut=600
Access1=E:\Temp|RLP
[USER=myfso111|1]
Password=ai9118BFD94A9CE9CF37AE5BAA947ED596
HomeDir=e:\temp
RelPaths=1
TimeOut=600
Access1=E:\Temp|RLP
生成后的文件結構如下
==================================
[Domain1]
User1=222|1|0
User2=myfso111|1|0
User3=myfso222|1|0
[USER=222|1]
Password=hwB1ECF70CDAF5DAE2B981AE394EEFCDC0
HomeDir=E:\Temp
RelPaths=1
TimeOut=600
Access1=E:\Temp|RLP
[USER=myfso111|1]
Password=ai9118BFD94A9CE9CF37AE5BAA947ED596
HomeDir=e:\temp
RelPaths=1
TimeOut=600
Access1=E:\Temp|RLP
[USER=myfso222|1]
Password=ai9118BFD94A9CE9CF37AE5BAA947ED596
HomeDir=e:\temp
RelPaths=1
TimeOut=600
Access1=E:\Temp|RLP
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:中國站長站