当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP + Serv-u 实现FTP的代码

ASP
ASP下经常用的字符串等函数参考资料
asp下连接数据库 ASP链接数据库字符串大全总结
asp内置对象 ObjectContext 事务管理 详解
asp 内置对象 Application 详解
ASP中 SQL语句 使用方法
ASP 中 Split 函数的实例分析
ASP 中 DateDiff 函数详解 主要实现两日期加减操作
asp 存贮过程 (SQL版asp调用存储过程)
利用ASP实现在线生成电话图片效果脚本附演示
使用ASP记录在线用户的数量的代码
关于ASP生成伪参数技巧 简洁实用的伪(僞)参数
asp 关键词字符串分割如何实现方法
用ASP编写的加密和解密类
ASP之处理用Javascript动态添加的表单元素数据的代码
asp下最常用的19个基本技巧
一些Asp技巧和实用解决方法
asp实现一个统计当前在线用户的解决方案
asp下的一个很简单的验证码程序
asp又一个分页的代码例子
asp实现防止从外部提交数据的三种方法

ASP + Serv-u 实现FTP的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 241 ::
收藏到网摘: n/a


   <!--#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