ASP + Serv-u 实现FTP的代码
作者:awaysrai 发布时间:2009-02-02 09:52:00
<'%
'**************************************************
'* 作者: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


猜你喜欢
- SQL语句中要不要加单引号?犯了一个超级超级蠢的错误,把population写成polulation而不自知,多次提醒我找不到polulat
- mysql存储引擎:MySQL服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上。存储引擎负责管理数据存储,以及MySQL
- 为什么PHP7的性能可以提高这么多?1. JIT 2. Zval的改变 3. 内部类型zend_string 4. PHP数组的变化(Has
- 本文介绍MySQL数据库中执行select查询语句,查询指定列的数据,即指定字段的数据。再来回顾一下SQL语句中的select语句的语法:S
- 断言声明是一种方便的程序调试方式。1、可将断言视为debug工具,Python的实现也符合这种设计理念。assert语句的执行依赖于__de
- 接上一篇终于知道python的装饰器是怎么回事,那在工作中,到底能干吗用呢?尤其对我这个只会写写脚本又不做python开发的小测试/手动无辜
- 将数据存储在不同的数据结构中时,搜索是非常基本的必需条件。最简单的方法是遍历数据结构中的每个元素,并将其与您正在搜索的值进行匹配。这就是所谓
- 如图所示,我们要计算任意两个向量之间的夹角。(图中的坐标数字是估计值,随手给定)python代码如下import math AB = [1,
- 前言嘿!一直在学习从没停下,最近的话一直没咋更新,因为小编也在忙着学编程~哈哈哈,今天刚好有时间嘛 那就给学习爬虫的小伙伴儿更新一期简单的爬
- 穿过云朵升一级是要花6个金币的,有的时候金币真的很重要前言嗨喽,大家好呀!这里是魔王~一天晚上,天空中掉下一颗神奇的豌豆种子,正好落在了梦之
- 代码如下:import matplotlib.pyplot as pltx = [1,2,3,4,5,6,7,8]y = [5,2,4,2,
- 用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄
- jupyter notebook的安装在这里都不赘述可以参考jupyter官网的步骤http://jupyter-notebook.read
- 1.安装插件,在非虚拟环境conda install nb_condaconda install ipykernel2、安装ipykerne
- 注册模块default.asp 代码如下:<!DOCTYPE html PUBLIC "-//
- python批量命名照片的具体代码,供大家参考,具体内容如下废话不多说,上效果图全部代码from tkinter import *impor
- 我们在爬虫时,经常会遇见中文乱码问题,之前都是编码格式的问题,很少遇见由于压缩格式造成的编码混乱问题,特记录下。先看下混乱的编码样式。b
- 本文用的是sciki-learn库的iris数据集进行测试。用的模型也是最简单的,就是用贝叶斯定理P(A|B) = P(B|A)*P(A)/
- MSSQL随机数 MSSQL有一个函数CHAR()是将int(0-255) ASCII代码转换为字符。那我们可以使用下面MS SQL语句,可
- 今天研究了点Flex技术,做了一个小的Demo,在测试时发现经常报错,网上一查发现是浏览器Flash Player版本较低造成(需要10及其