ASP + Serv-u 实现FTP的代码

2016-01-29 17:47 6 1 收藏

ASP + Serv-u 实现FTP的代码,ASP + Serv-u 实现FTP的代码

【 tulaoshi.com - ASP 】

 

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/asp/)

'添加新用户的信息,具体内容可以在SERV-U中新建用户并对照INI文件

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/asp/)

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


附MD5.ASP
=========

来源:https://www.tulaoshi.com/n/20160129/1503004.html

延伸阅读
FTP信息代码全解 110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm where yyyy is User-process data stream marker, and mmmm server's equivalent marker (note the spaces between markers and "="). 重新启动标志回应。这种情况下,信息是精...
标签: Web开发
代码如下: style td { font-family: "宋体"; font-size:9pt} /style body bgcolor="eeeeee" table width="180" cellpadding="0" cellspacing="1" bgcolor="dddddd" style="text-align:center" % '以下为ASP中通过该日历算法实现的具体代码     '先判断是否指...
标签: Web开发
以下为引用的内容: html head title不刷新页面查询的方法/title meta http-equiv="Content-Type" content="text/html; charset=gb2312" /head script language="javascript" !--初始化,将数据岛中数据装入列表框中-- function loadinsel() { var employeeid,employeelastname; //分别存放雇员ID和雇员名字 root=document....
标签: ASP
  <!--#include File="clsDay.asp"-- <% Dim objChinaDay Dim sDay, sWeekDay, sChinaDay, sChinaYear,sChinaAni Set objChinaDay = New  ChinaDay Call objChinaDay.Action("",sDay,sWeekDay,sChinaYear,sChinaDay,sChinaAni) Set objChinaDay = Nothing 'Response.Write sDay&"<BR" 'Response.Write sWeekDay&"...
标签: Web开发
html head title不刷新页面查询的方法/title meta http-equiv="Content-Type" content="text/html; charset=gb2312" /head script language="javascript" !--初始化,将数据岛中数据装入列表框中--  function loadinsel()  {    var employeeid,employeelastname; //分别...

经验教程

703

收藏

35
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部