linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > php >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·PHP生成静态页面的一些经验
·PHP无限分类与树型论坛的实现方
·php5学习笔记
·入门级PHP程序员面试题
·PHP 和 MySQL初学入门
·PHP入门速成
·vim的代码折叠
·文件下载统计php编程代码
·如何建立自己的新闻发布系统
·织梦CMS中文转换拼音函数研究
·Windows下Apache+Tomcat+MySQL
·PHP初学者头疼问题总结
·Cookie及其使用详细介绍
·生成sessionid和随机密码的例子
·使用无限生命期Session的方法
最新文章
·PHP入门速成
·用php实现广告轮播
·Zend Optimizer 问题浅析
·功能强大的CGI语言----PHP3
·用Session对Web页面进行保护
·PHP--进行模块化设计
·如何将PHP的结果输出到非PHP页
·如何开发一个虚拟域名系统
·PHP4调用自己编写的COM组件
·简单的页面缓冲技术(三)
·简单的页面缓冲技术(二)
·简单的页面缓冲技术(一)
·用Socket发送电子邮件(二)
·用Socket发送电子邮件(一)
·PHP/MySQL 购物车
Google
 
使用PHP往Windows系统中添加用户
[ 作者:  加入时间:2007-12-03 16:02:29  来自:Linux联盟收集整理 ]
可以实现, 方法有二。 AfjLinux联盟
   AfjLinux联盟
  一、再Web中添加用户 AfjLinux联盟
   AfjLinux联盟
  因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。 AfjLinux联盟
   AfjLinux联盟
  ( 以下说明针对Windows2000/Windows XP/Windows 2003 ) AfjLinux联盟
   AfjLinux联盟
  1、使用IIS做Web服务器 AfjLinux联盟
  如果是使用IIS做服务器的话,那么运行PHP的帐户就是:IUSR_XXXXXXXX,IWAM_XXXXXXX,(XXXX代表服务器的计算机名),那么你必须把这两个用户加到管理员组:Administrators 。当然,你这样做的话,会给服务器安全带来威胁。 AfjLinux联盟
   AfjLinux联盟
  1、使用Apache作为Web服务器 AfjLinux联盟
  据我了解,Apache安装成服务以后,那么就是以system权限运行的,那么就是说PHP运行的话,直接就是系统权限,已经超过了管理员权限,那么执行命令更不再话下。如果你修改了Apache的运行用户,那么你必须指定Apache服务运行用户是管理员以上权限,比如Administor或者system权限。 AfjLinux联盟
   AfjLinux联盟
  然后你就可以在你的PHP代码中执行添加用户操作了: AfjLinux联盟
   AfjLinux联盟
  按照楼主的需求,描述如下代码: AfjLinux联盟
   AfjLinux联盟
  <?php AfjLinux联盟
  define("USER_GROUP", "users"); //用户组,默认为users,为了安全,定义还是的用户组 AfjLinux联盟
  define("ACTIVE", "YES"); //是否创建后直接激活用户,YES为激活,NO为不激活 AfjLinux联盟
   AfjLinux联盟
  //从数据库提取用户名和密码 AfjLinux联盟
  //假设表为user_info,并且只有字段id, user, passwod AfjLinux联盟
  $sql = "SELECT user,password FROM user_info"; AfjLinux联盟
  $result = mysql_query($sql) or die("Query database failed"); AfjLinux联盟
  //循环插入用户 AfjLinux联盟
  while ($array = mysql_fetch_array($result)) { AfjLinux联盟
   if (!function_exists("system")) AfjLinux联盟
   die('Function system() not exists, add user failed.'); AfjLinux联盟
   //添加用户 AfjLinux联盟
   @system("net user $array[user] $array[passwd] /active:ACTIVE /add"); AfjLinux联盟
   //添加到指定组 AfjLinux联盟
   @system("net localgroup users $array[user] /del"); AfjLinux联盟
   @system("net localgroup USER_GROUP $array[user] /add"); AfjLinux联盟
  } AfjLinux联盟
  ?> AfjLinux联盟
   AfjLinux联盟
  以上代码实现了把你所有数据库的用户添加到本地系统,如果你想单个的添加,可以考虑更改成用户注册成功后就添加用户,这个可以自己扩展。 AfjLinux联盟
   AfjLinux联盟
   AfjLinux联盟
  二、使用php做shell脚本来添加用户 AfjLinux联盟
   AfjLinux联盟
  另外,其实我还有个思路。可以在服务器端利用php.exe来执行,并且不会有安全问题。我刚做了测试,已经通过。 AfjLinux联盟
   AfjLinux联盟
  假设你的php安装在c:\php\中,那么我们就使用命令提示符的来执行php脚本来添加用户。 AfjLinux联盟
   AfjLinux联盟
  PHP代码: AfjLinux联盟
  //c:\test.php AfjLinux联盟
  <?php AfjLinux联盟
  @system("net user heiyeluren test /add"); AfjLinux联盟
  ?> AfjLinux联盟
  保存在c:\test.php文件中 AfjLinux联盟
  在cmd下执行: AfjLinux联盟
  c:\php\php.exe c:\test.php AfjLinux联盟
  提示: AfjLinux联盟
  C:\>c:\php\php.exe c:\test.php AfjLinux联盟
  命令成功完成。 AfjLinux联盟
   AfjLinux联盟
  那么从这个角度出发,完全可以将上面我写的那段代码拿到这里来执行,然后php.exe充当shell脚本引擎。然后写成批处理,通过定时任务来执行。当然,也可以考虑使用其他语言来实现,比如vb/vc之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。 AfjLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·轻型数据库SQLite结合PHP的开发  (2007-12-03 16:00:56)
 ·PHP实现自动刷数和“灌水”机  (2007-12-03 16:00:21)
 ·PHP实现网页自动更新块  (2007-12-03 15:59:55)
 ·用PHP读写NTFS文件系统下的文件摘要信息  (2007-12-03 15:57:11)
 ·PHP中通过Web执行C/C++应用程序  (2007-12-03 15:55:58)
 ·PHP下实现端口复用/劫持  (2007-12-03 15:54:52)
 ·PHP和JAVA的XML-RPC中文问题解决办法  (2007-12-03 15:54:04)
 ·Linux和Windows操作系统升级的最大不同  (2007-12-03 10:39:43)
 ·Useradd和Adduser添加用户工具使用方法  (2007-11-30 10:59:01)
 ·Windows系统下用Xmanager远程登陆Linux  (2007-11-29 11:14:03)