您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

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

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-2-2 我要参与讨论

 

  一、再Web中添加用户

  因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。

  ( 以下说明针对Windows2000/Windows XP/Windows 2003 )

  1、使用IIS做Web服务器

  如果是使用IIS做服务器的话,那么运行PHP的帐户就是:IUSR_XXXXXXXX,IWAM_XXXXXXX,(XXXX代表服务器的计算机名),那么你必须把这两个用户加到管理员组:Administrators 。当然,你这样做的话,会给服务器安全带来威胁。

  2、使用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

[1] [2] 下一页

在google里搜索更多使用PHP往Windows系统中添加用户

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明