利用FTP实现学生文件的安全管理

来源 :中小学信息技术教育 | 被引量 : 0次 | 上传用户:lblb0628wto
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在计算机教室中存储学生的资料一般有四种方式:本地磁盘存储、本地磁盘配合文件夹加密存储、在线WEB存储、建立服务器“网络盘”存储。这四种方式在多名学生共用同一计算机的条件下都存在一些问题。
  (1)本地磁盘存储。这是最不安全的存储方式,依赖于学生的自觉。几名学生共用一台机器,他们拥有相同的权限,可以对本机中所有的文件进行删除和修改。
  (2)本地磁盘配合文件夹加密存储。这种方式需要在计算机中安装文件加密工具,可以对不同的文件夹设定密码,在一定程度上保证了个人文件夹不会被其他人访问或删除。然而,要让学生加密某个文件夹,必须告诉学生运行这个软件的密码,学生获得密码后,便将此软件删除,从而导致其他学生也无法使用加密后的文件夹。
  (3)在线WEB存储。这种方式不但可实现多用户文件存储,而且还可以对用户申请、密码保护等方面进行设计。但操作较为繁琐,实现过程不够直观,操作界面和计算机中的资源管理器的界面有较大差别,而且脚本中对用户提交的文件类型如果限制不严格,后台中对文件下载的处理不得当,容易产生不安全因素。
  (4)服务器端的“网络盘”存储。这种方式通过服务器端与客户端建立映射磁盘的形式实现。界面直观,学生易于接受,能像操作本地磁盘一样进行文件的存储。但它在实际应用中也暴露出一些缺点,如服务器端会产生大量用户。
  那么,如何能让学生快速、安全地存储自己的文件呢?可以考虑从直观性、安全性和快捷性等几方面进行设计,我结合Serv-U和PHP,实现了利用FTP对学生文件进行安全管理。
  
  一、设计思路
  
  Serv-U 是一种被广泛采用的FTP服务器端软件,支持 9x/ME/NT/2K 等全Windows系列。它设置简单、功能强大、性能稳定。FTP服务器用户通过它用 FTP协议能在 Internet上共享文件。Serv-U不但提供文件下载,还为用户的系统安全提供了全面保护。它的用户设置和各种功能的设置一般都是在Serv-U的图形界面管理器中进行,也可以通过PHP中的文件操作来修改Serv-U的ServUDaemon.ini文件,达到用户申请、密码修改、磁盘配额等方面的设置。其核心是在ServUDaemon.ini中,通过PHP在指定位置添加、修改、删除信息。需要注意的是,在ServUDaemon.ini用户的密码是经过加密的,用两个随机字母与用户提供的密码用MD5进行加密。
  我使用的Serv-U版本是6.1,PHP版本是5.2,数据库采用MySQL,为了迁移方便,使用记事本存储用户信息。
  
  二、关键代码
  
  在操作过程中,为了保证每名学生只能申请一个FTP用户,需要获取某班学生的姓名信息并存储在TXT文件中,然后设计两个页面:一是初始密码及用户登记;二是根据第一个页面返回的信息(学生姓名和自己设计的密码),申请真正的FTP用户和密码。第一个页面的代码比较简单,是一个PHP设计的用户注册页面,这里不赘述。第二个页面中包含新FTP用户注册和用户修改密码两部分功能(如图1),本文重点介绍这两个函数。
  
  1.全局变量
  $localhost=“10.8.4.91”;//FTP服务器地址
  $daemonPath=“e:Serv-UServUDaemon.ini”;// ServUDaemon.ini的绝对路径
  2.注册新用户函数
  Function register()
  {
  $yname=$_POST[’selectuser’];//用户姓名
  $ypass1=$_POST[’regpass1’];//用户密码
  //下面的代码可以省略,目的是为了根据用户的汉字生成拼音,这样学生登录时可以只输入姓名拼音的首字母即可
  include("pinyin.php");//用来将汉字生成拼音的程序,读者可以查阅PHP.net中相关代码
  $pinyin="";
  for($i=0;$i  {
  $pinyin=$pinyin.GetPYIndex(substr($yname,$i,2));
  }
  
  //创建以姓名为名称的文件夹
  $handle=chdir("h:ftp");
  $handle=getcwd();
  ……//进行判断的代码省略
  mkdir($handle."".$yname,0777);
  //找到需要插入新用户的位置并生成第一次插入的内容
  $buffer=file($daemonPath);
  $j=array();
  for($i=0;$i  {
  if(strcmp("[USER=",substr(trim($buffer[$i]),0,6))==0)
  $j[$i]=$i;
  }
  $flag=min($j)-1;
  $temp1=substr($buffer[$flag],4,2) 1;
  $temp1="User".$temp1."=".$pinyin."|1|0 ";//记录新添加的人名
  //生成密码及第二次插入的内容
  $lpass=strtoupper(md5("ab".$ypass1));//用ab做为随机字母
  $lpass="ab".$lpass;
  $laststr="[USER=".$pinyin."|1] ";
  $laststr=$laststr."Password=".$lpass." ";
  $laststr=$laststr."HomeDir=H:ftp".$yname." ";// H:ftp为学生文件夹所在目录
  $laststr=$laststr."RelPaths=1 ";
  $laststr=$laststr."DiskQuota=1|524288000|0 ";//524288000为学生文件夹的磁盘配额,单位是字节
  $laststr=$laststr."PasswordLastChange=".time()." ";
  $laststr=$laststr."TimeOut=600 ";
  $laststr=$laststr."Access1=H:ftp".$yname."|RWAMLCDP ";// RWAMLCDP为学生操作文件夹的权限,R代表读,W代表写
  //将第一、二次生成的片段插入到文件中
  $file=file($daemonPath);
  $start1=array();
  for($i=0;$i<=$flag;$i )
  $start1[$i]=$file[$i];//将前半部分内容赋给变量start1
  $start1[$flag 1]=$temp1;//接着赋给下一个元素
  for($i=$flag 1;$i  $start1[$i 1]=$file[$i];//把后半部分内容给变量start1
  $start1[count($start1)]=$laststr;//把最后的内容给变量
  $filecon="";
  for($i=0;$i   $filecon=$filecon.$start1[$i];
  ……//省略代码为将上面生成的内容写入到ServUDaemon.ini中
  }
  3.用户密码修改函数
  Function changePass()
  {
  $user=$_POST[’user’];
  $pass=$_POST[’pass’];
  $newpass=$_POST[’pass2’];
  $conn_id = ftp_connect($server) or die("Couldn’t connect to $localhost");
  if (@ftp_login($conn_id, $user, $pass)) {
  $handle=file($daemonPath);
   $userlen=strlen($user) 9;
  //定位用户的密码信息在.ini中的位置,更新后获取新的字符串
   $userstr="[USER=".$user."|1]";
   for($i=0;$i   {
  if(strcmp($userstr,trim($handle[$i]))==0)
  $tempid=$i;
   }
   $rpass="ab".strtoupper(md5("ab".$newpass));
   $passstr="Password=".$rpass." ";
   $handle[$tempid 1]=$passstr;
   $filestr="";
   for($i=0;$i   $filestr=$filestr.$handle[$i];
  ……//省略代码为将修改后的内容写入到ServUDaemon.ini
  }
  可以根据以上代码进一步加工,如设定每个年级一个文件夹,年级文件夹下一级是每个班的文件夹。并可以设计一个后台,当学生毕业时,可以通过操作Serv-U中的.ini文件,删除某个年级下的所有用户和文件。这种存储方式与前面四种方式相比较,安全性大大增强,对客户端要求较低,无需安装其他软件,通过IE浏览器即可操作。不足之处是,学生在存储文件资料之前应掌握相应IE浏览器的操作知识,修改密码后大约有10分钟的生效时间(和Serv-U的设置有关)。
  (作者单位:山东高密市开发区小学)
其他文献
西部地区财政对农村卫生的投入不足,同时,卫生机构对财政的依赖度较高,特别是疾病预防控制机构和妇幼保健机构.医疗机构自身的筹资能力也较差。为加快西部地区农村卫生事业的发展
本文从对知识经济时代的特点及知识经济对会计活动的影响和变化等方面,阐述了在知识经济时代会计人员存在的问题及对策。
村级卫生组织提供的服务多属于农村公共产品,村级卫生组织发展是建设社会主义新农村的必然要求。由于政府对村级卫生组织支持不足,村级卫生服务人员素质偏低等原因,使得村级卫生
[摘要]传统的以学校为主的校企合作模式已不适宜高职院校高技能型人才的培养,而校企双向互动合作模式将成为高技能人才培养的一种常态模式。文章提出了当前我国高职院校与企业互动中存在的主要问题,以高职院校和企业为视角,分析了制约高职院校与企业互动的主要因素,并阐述了促进双方互动的基本对策。  [关键词]高职院校 企业 互动 制约因素  [作者简介]邓志军(1966- ),男,江西临川人,东华理工大学副教授
作为学校的信息技术教师,我平时除了上信息技术课外,还要负责全校所有教室电教设备的诊断维修以及教师笔记本电脑的系统重装等工作。  学校的每间教室都是多媒体教室,教师讲台是一个铁柜子,里面装有中控装置,控制着教室里所有的电教设备,包括数字展台、投影仪、投影屏幕、功放、录音机、电视盒等设备。这个铁柜子的使用频率很高,教师每天都会携带自己的笔记本电脑到教室上课,通过视频线、音频线把笔记本电脑与中控连接起来
国家政策是中国政治智慧的独特遗产。首次从什么是国策、国策内涵外延、国策形成机制和国策基本特征的角度,全面分析卫生部门在社会发展中的基础性和战略性地位,系统阐述将卫生
文章采用精神症状自评量表(SCL-90),对558名职业技术师范院校学生进行测试,结果表明:职业技术师范院校学生的心理问题检出率为21.7%,其学生的心理健康水平低于全国正常人群;在职