使用ODBC数据库管理Serv-U的FTP用户及相关ASP编程[附源码示例下载]

所属分类: 网络编程 / ASP编程 阅读数: 1725
收藏 0 赞 0 分享
Serv-U是一种被广泛运用的FTP服务器端软件,支持3x/9x/ME/NT/2K等全Windows系列。可以设定多个FTP服务器、限定登录用户的权限、登录主目录及空间大小等,功能非常完备。 它具有非常完备的安全特性,支持SSl FTP传输,支持在多个Serv-U和FTP客户端通过SSL加密连接保护您的数据安全等。

Serv-U 支持基于ODBC数据库的用户和用户组设置,这为我们基于Serv-U编程提供了良好的接口,接下来我们介绍如何具体实现。

一、使用ODBC数据库管理Serv-U
前提条件:企业版的Serv-U(4.1以上版本)才能够支持ODBC,常见可支持的数据库包括access、mysql、oracle和mssql等。

Serv-U英文官方网站上提供了部分数据库示例,本站提供下载,请选择:
·Access示例:MS Access ODBC Example
·Ms SQL示例:MS SQL Server ODBC Example
·MySQL示例:MySQL ODBC Example
·Oracle创建表结构的SQL文件:Oracle database for use with Serv-U

以下以Ms SQL为例介绍使用方法
1、安装好Serv-U企业版(4.1以上版本),创建一个新的域,在第四步中,域类型选择“存储于ODBC数据库中”,如图:

2、下载MS SQL Server ODBC Example示例包,获得CreateServUTables.sql(用于在mssql中创建Serv-U的对应表结构)文件,并在mssql中执

行该文件,创建六个表,分别为:
·ftp_users
·ftp_userIPs
·ftp_userAccess
·ftp_groups
·ftp_groupIPs
·ftp_groupAccess
其中ftp_users为存放用户的表,最为重要。

3、建立ODBC。示例过程如下
(1)添加系统DSN(系统数据源),选择SQL Server,填好数据源名称和服务器(本机使用local)

serv-u-1.gif

(2)登录验证方式根据你的mssql设置决定,这里用SQL验证的方式登录

serv-u-2.gif

(3)更改数据库为你创建好Serv-U表的数据库,确认,完成ODBC设置。现在你有了一个名为Serv-U的系统数据源,记得这个名字和登录使用用户和密码。

serv-u-3.gif

4、配置Serv-U
(1)关闭Serv-U,从MS SQL Server ODBC Example示例包中获得Add-to-Ini.txt文件,打开此文件,完整复制以下代码:
[Domain1]
ODBCTables=ftp_users|ftp_groups|ftp_userAccess|ftp_groupAccess|ftp_userIPs|ftp_groupIPs
ODBCColumns=ftpUserName|ftpPassword|sKey|dirHome|loginMsgFile|accessRule|disabled|sessionEncryption|dirHomeLock|hideHidden|alwaysAllowLogin|changePassword|quotaEnable|maxUsersLoginPerIP|speedLimitUp|speedLimitDown|maxUsersConcurrent|timeOutIdle|timeOutSession|ratioUp|ratioDown|ratioCredit|quotaCurrent|quotaMax|expiration|privilege|ftpPasswordType|ratioType|groups|notes|indexNo

(2)打开Serv-U的安装目录,找到ServUDaemon.ini文件,将对应[Domain1]及其后面的对应设置用上面的代码替换。

(3)重新打开你的Serv-U,找到刚才你新建的域,在ODBC设置中应该已经能够看到ODBC链接设置中,除了ODBC源名称、帐号和密码部分空的外,其他的表名和列名都已经设置好了。

serv-u-4.gif
(4)填写好你的ODBC源名称、帐号和密码,应用设置,如果你的设置没有问题的话,域前面的图标将不再是禁止的样子,表示已经设置好了

(5)随便建立一个用户,然后对应在你的ftp_users表中查找看是否存在,如果没有问题,你已经完成了Serv-U的ODBC设置。

二、编程实现ODBC管理Serv-U用户
有了数据库,用编程实现管理Serv-U用户应该是一件非常简单而轻松的事情,唯一的难点在于密码的加密。
我们知道Serv-U三种加密算法,默认情况下是32位的md5加密算法,这和有的16位和64位加密算法有所不同,因此我们在编程中要使用32位的

MD5加密算法来实现密码的加密。以下以ASP编程为例:

用以下两个函数完成对密码的加密,32位MD5加密文件在此下载MD5.ASP

Function SerUPassEnCode(strPass) 
Dim Char1,Char2,Seed,prePass,EncodePass,FinalPass 
If IsNull(strPass) Or strPass="" Then Exit Function 
Char1 = Chr(Rand(97,122)) 
Char2 = Chr(Rand(97,122)) 
Seed = Char1 & Char2 
prePass = Seed & strPass 
EnCodePass = Ucase(md5(prePass)) '32位md5 
FinalPass = Seed & EnCodePass 
SerUPassEnCode = FinalPass 
End Function
Function Rand(n,m)
Dim a,b,t
a = n : b = m
If b < a Then t = b : b = a : a = t
Randomize
Rand = Int(rnd*(b-a+1)+a)
End Function
本文完全原创,请尊重作者劳动,转载请注明出处,谢谢。 

更多精彩内容其他人还在看

asp知识整理笔记4(问答模式)

这是关于asp知识整理的最后一份笔记,希望大家仔细阅读。
收藏 0 赞 0 分享

ASP基础知识VBScript基本元素讲解

这篇文章主要介绍了ASP基础知识VBScript基本元素的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP编码和解码函数详解

这篇文章主要介绍了ASP编码和解码函数的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP显示页面执行时间的方法

这篇文章主要介绍了ASP显示页面执行时间的方法,在本地测试一下输出页面需要多少时间,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第一篇(ASP技术简介)

本文将以 Active Server Pages 为中心,向你全面展示制作动态商业网站的步骤和技巧并通过大量的实例,让你在不断的理论和实践之中笑傲“网络”……
收藏 0 赞 0 分享

ASP基础入门第二篇(ASP基础知识)

这篇文章是ASP基础入门第二篇,第一篇展示了ASP动态网站设计的一些最基本的方法,相信通过实践各位对 ASP 已经有了最基本的了解,本文将进一步介绍ASP动态网站的一些基本技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

ASP基础入门第三篇(ASP脚本基础)

通过前两篇的学习,相信各位已经对 ASP 的动态网站设计有了一个基本的概念和整体的印象。从本篇开始作者将从脚本语言的使用着手,由浅入深地带领大家探索 ASP 动态网站设计的真正奥秘。
收藏 0 赞 0 分享

ASP基础入门第四篇(脚本变量、函数、过程和条件语句)

大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后,本期将继续向各位介绍 VBScript 的函数和语法。
收藏 0 赞 0 分享

ASP基础入门第五篇(ASP脚本循环语句)

在本文上两篇中,我们学习了脚本语言 VBScript 的变量、函数、过程和条件语句,本篇将继续给大家介绍 VBScipt 的循环语句,并对脚本语言在 ASP 中的应用加以总结。  
收藏 0 赞 0 分享

ASP基础入门第六篇(ASP内建对象Request)

从本篇开始作者从 ASP 内建对象着手,为大家详细剖析 ASP 的六个内建对象和各种组件的特性和方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多