FLASH游戏 | 站长工具 | 技术学院 忙鱼网 怕笑网 
积木网
VBScript手册  |  C#  |  C++  |  PB  |  Builder  |  Ajax  |  VB  |  VC  |  JAVA  |  delphi  |  J2EE  |  SQL  |  XML  |  PHP  |  .NET  |  ASP  |  JSP  |  CGI  |  Script  |  综合  |  HTML
推荐: PHP5中文在线手册 | Smarty中文手册(模板引擎) | css2样式表中文手册 | ASP开发手册 | JScript开发手册
积木网 >> 程序开发 >> PHP

使用PHP往Windows系统中添加用户

来源:互联摘选 日期:2001年10月24日 05:09:27
     可以实现, 方法有二。
  
  一、再Web中添加用户
  
  因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。
  
  ( 以下说明针对Windows2000/Windows XP/Windows 2003 )
  
  1、使用IIS做Web服务器
  如果是使用IIS做服务器的话,那么运行PHP的帐户就是:IUSR_XXXXXXXX,IWAM_XXXXXXX,(XXXX代表服务器的计算机名),那么你必须把这两个用户加到管理员组:Administrators 。当然,你这样做的话,会给服务器安全带来威胁。
  
  1、使用Apache作为Web服务器
  据我了解,Apache安装成服务以后,那么就是以system权限运行的,那么就是说PHP运行的话,直接就是系统权限,已经超过了管理员权限,那么执行命令更不再话下。如果你修改了Apache的运行用户,那么你必须指定Apache服务运行用户是管理员以上权限,比如Administor或者system权限。
  
  然后你就可以在你的PHP代码中执行添加用户操作了:
  
  按照楼主的需求,描述如下代码:
  
  <?php
  define("USER_GROUP", "users"); //用户组,默认为users,为了安全,定义还是的用户组
  define("ACTIVE", "YES"); //是否创建后直接激活用户,YES为激活,NO为不激活
  
  //从数据库提取用户名和密码
  //假设表为user_info,并且只有字段id, user, passwod
  $sql = "SELECT user,password FROM user_info";
  $result = mysql_query($sql) or die("Query database failed");
  //循环插入用户
  while ($array = mysql_fetch_array($result)) {
   if (!function_exists("system"))
   die('Function system() not exists, add user failed.');
   //添加用户
   @system("net user $array[user] $array[passwd] /active:ACTIVE /add");
   //添加到指定组
   @system("net localgroup users $array[user] /del");
   @system("net localgroup USER_GROUP $array[user] /add");
  }
  ?>
  
  以上代码实现了把你所有数据库的用户添加到本地系统,如果你想单个的添加,可以考虑更改成用户注册成功后就添加用户,这个可以自己扩展。
  
  
  二、使用php做shell脚本来添加用户
  
  另外,其实我还有个思路。可以在服务器端利用php.exe来执行,并且不会有安全问题。我刚做了测试,已经通过。
  
  假设你的php安装在c:\php\中,那么我们就使用命令提示符的来执行php脚本来添加用户。
  
  PHP代码:
  //c:\test.php
  <?php
  @system("net user heiyeluren test /add");
  ?>
  保存在c:\test.php文件中
  在cmd下执行:
  c:\php\php.exe c:\test.php
  提示:
  C:\>c:\php\php.exe c:\test.php
  命令成功完成。
  
  那么从这个角度出发,完全可以将上面我写的那段代码拿到这里来执行,然后php.exe充当shell脚本引擎。然后写成批处理,通过定时任务来执行。当然,也可以考虑使用其他语言来实现,比如vb/vc之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。
  
  
  
    

被阅读 0 次 本文现有评论 0
打印】 【收藏此页】 【关闭

强烈推荐

热门知识

最新文章

合作伙伴:网乐宽频 | 北京画廊
站长 服务邮箱:GimooHr(#)Gmail.Com 站长交流群:6412338 联系站长QQ号:36147437
Copyright © 2008 Gimoo.NetInc. all rights reserved 京ICP备05050695号