手机
当前位置:查字典教程网 >编程开发 >php教程 >如何使用PHP往windows中添加用户
如何使用PHP往windows中添加用户
摘要:方法有一:因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式...

方法有一:

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

(以下说明针对Windows2000/WindowsXP/Windows2003)

一、使用IIS做Web服务器

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

二、使用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="SELECTuser,passwordFROMuser_info";

$result=mysql_query($sql)ordie("Querydatabasefailed");

//循环插入用户

while($array=mysql_fetch_array($result)){

if(!function_exists("system"))

die('Functionsystem()notexists,adduserfailed.');

//添加用户

@system("netuser$array[user]$array[passwd]/active:ACTIVE/add");

//添加到指定组

@system("netlocalgroupusers$array[user]/del");

@system("netlocalgroupUSER_GROUP$array[user]/add");

}

?>

以上代码实现了把你所有数据库的用户添加到本地系统,如果你想单个的添加,可以考虑更改成用户注册成功后就添加用户,这个可以自己扩展。

不过,此方法不能实现同步

方法二:

可以在服务器端利用php.exe来执行,并且不会有安全问题。

假设你的php安装在c:php中,那么我们就使用命令提示符的来执行php脚本来添加用户。

PHP代码:

//c:test.php

<?php

@system("netusertesttest/add");

?>

保存在c:test.php文件中

在cmd下执行:

c:phpphp.exec:test.php

提示:

C:>c:phpphp.exec:test.php

命令成功完成。

再将方法一中的那段代码拿到这里来执行,然后php.exe充当shell脚本引擎。然后写成批处理,通过定时任务来执行。当然,也可以考虑使用其他语言来实现,比如vb/vc之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。

【如何使用PHP往windows中添加用户】相关文章:

php使用数组填充下拉列表框的方法

使用sockets:从新闻组中获取文章(三)

如何使用PHP中的字符串函数

如何使用PHP获取网络上文件

PHP程序员使用最多的五个工具

如何在PHP中使用Oracle数据库(2)

如何在PHP中使用Oracle数据库(6)

学习使用PHP数组

PHP关联链接添加方法

如何在PHP中使用Oracle数据库(1)

精品推荐
分类导航