Ftp Serv-U用户在线修改密码的实现 下载本文

内容发布更新时间 : 2024/6/6 20:09:56星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

Ftp Serv-U用户在线修改密码的实现

作者:倪朔东 袁蔚芳

来源:《中国教育信息化·高教职教》2008年第12期

摘 要:Ftp Serv-U是一款功能强大的FTP服务器软件,但是用户只能通过DOS命令来修改自身密码,本文提出了用户如何实现通过Web页在线修改密码的方法。 关键词:Ftp Serv-U 修改密码

中图分类号:TP309.2 文献标识码:B 文章编号:1673-8454(2008)23-0085-02 一、引言

FTP 全称是 File Transfer Protocol,是一个被广泛应用的文件传输协议,它使得我们能够在网络上方便地传输文件。FTP Serv-U(以下简称Serv-U)是现今Windows下最流行、功能最强大、使用最简单的FTP服务器软件之一,同时也是目前国内应用最多的FTP服务器软件。其主要功能特点有:(1)流量控制及带宽限制。支持对上传、下载流量和网络带宽设定限制,以确保带宽不会被少数FTP用户独占;(2)磁盘空间限制。可以设定每个账号可使用的磁盘空间;(3)断点续传能有效地降低重复下载;(4)远程管理方便用户从任何地方管理FTP Server,提高工作效率;(5)安全机制通过严格的权限控制,提供系统安全性和稳定性;(6)支持“多宿主”IP站点;(7)作为系统服务运行。

一般情况下FTP用户的密码需要在FTP工具下(如 cuteftp、flashfxp等)用DOS 命令来修改,操作麻烦,不便记忆,以致很多教师一直使用初始密码,或者要修改密码就直接找FTP管理员来修改,这样在给工作加重负担的同时,无疑对用户个人的信息安全也是一个威胁, 甚至成了攻击服务器的一个安全缺口。为此,笔者结合实际设计了一个简单的程序,通过登录Web页来修改个人用户密码。

二、程序的实现

龙源期刊网 http://www.qikan.com.cn

1.程序的总体思路

Serv-U用户的基本信息,包括用户的名称、密码、操作权限等都是存储在

ServUDaemon.ini文件中,我们当然可以通过操作该文件来实现我们的密码修改,但是考虑到以后用户的批量处理和归档等,本程序采用了ASP+ODBC的方法,那就是将Serv-U用户的基本信息存储到数据库中,然后通过ASP对数据库进行操作来实现密码的修改。 2.Serv-U的配置

Serv-U的安装比较简单,笔者不在这作详细介绍,装完以后如何能让该台机器充当FTP服务器,并与数据库连接起来,以便实现密码的修改呢?第一步,我们需要新建一个域,并为其配上IP地址(服务器的IP);第二步,为新建域取一名称;第三步,设置端口(通常默认是21);第四步,为域选择一个存储的地方,如存储于ODBC数据库中,这样才能达到Serv-U与数据库连接的目的。 3.数据库与Serv-U的连接

当Serv-U的域选择了存储于ODBC中后,接着在ODBC中创建一个数据源,以实现Serv-U和数据库之间的连接。如图1、2、3,笔者依次建立了数据源ftp,为其选择的驱动是Microsoft Access,然后选择了数据库文件ftp.mdb,其中ftp.mdb就是存储Serv-U个人用户的基本信息。

龙源期刊网 http://www.qikan.com.cn

经过上述几步完成了数据源的建立和数据库的选择,最后修改ServUDaemon.ini文件,将“ODBCSource=||” 改为“ODBCSource=ftp||”(ftp就是我们刚才建立的数据源),这样ftp.mdb中的个人信息就成功地导入Serv-U中了。 4.程序主要代码

UserName = Session(\

OldPassword = Request.form(\ NewPassword = Request.form(\ reNewPassword = Request.form(\ UserName = Replace(UserName,\

if len(UserName)<1 or len(OldPassword)<1 or len(NewPassword)<1 or len(reNewPassword)<1 then

alert(\表单没有填写完整\ end if

if trim(NewPassword)<>trim(reNewPassword) then alert(\密码与确认密码不一样\ end if Dim check_user

Dim check_user_numRows

Set check_user = Server.CreateObject(\ check_user.ActiveConnection = \(*.mdb)};DBQ=\

check_user.Source = \UserName &\是ftp.mdb中的一张表,UserName表中的一个字段,用来存放FTP用户的账号名。

check_user.CursorType = 0