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

ASP
ASP正则表达式技巧
ASP Access实现网站计数器(访问量)
ASP新闻分页,将一篇过长的文章分页,生成静态页面
一些关于asp 购物车的想法
一个sql查询器,自动画表格填字段
ASP实现文件直接下载的代码
把网页中的(电话,qq等数字)生成图片的ASP程序
asp长文章用分页符来分页显示
Asp函数介紹(37个常用函数)
ASP中的面向对象类
分页实现方法的性能比较
asp ajax跨域提交数据
asp修改文件和文件夹的名字的代码
ASP 多关键词查询实例代码
asp被杀毒软件误删的解决方法
asp 多关键词搜索的简单实现方法
asp 根据IP地址自动判断转向分站的代码
asp dictionary对象的用法
ASP 千万级数据分页的存储过程
ASP隐藏真实文件的下载功能实现代码

ASP + Serv-u 实现FTP的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 248 ::
收藏到网摘: 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