程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> ASP + Serv-u 實現FTP的代碼

ASP + Serv-u 實現FTP的代碼

編輯:ASP技巧
<!--#include file="md5.ASP"-->  <!--md5源碼見http://www.aspprogram.cn/soft.ASP?id=39-->
  <% 
  '************************************************** 
  '* 作者: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)) '密碼荕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 
   
  '添加新用戶的信息,具體內容可以在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 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved