请问如何使用PHP往windows中添加用户。 不可能完成的任务。除非你自己开发一个php扩展,难度就不得而知了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 首先要给iuser和wuser开放权限然后可以system('net user /add username password'); 首先WEB用户没这么高的权限吧?要有的话就只有一个可能他的WEB没配制好 我要实现的功能是:1、通过网络在网站上注册用户;2、同步在WEB服务器上将注册用户添加到windows用户组中。要怎么实现,请具体说说。 可以实现, 方法有二。因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。( 以下说明针对Windows2000/Windows XP/Windows 2003 )一、使用IIS做Web服务器如果是使用IIS做服务器的话,那么运行PHP的帐户就是:IUSR_XXXXXXXX,IWAM_XXXXXXX,(XXXX代表服务器的计算机名),那么你必须把这两个用户加到管理员组:Administrators 。当然,你这样做的话,会给服务器安全带来威胁。二、使用Apache作为Web服务器据我了解,Apache安装成服务以后,那么就是以system权限运行的,那么就是说PHP运行的话,直接就是系统权限,已经超过了管理员权限,那么执行命令更不再话下。如果你修改了Apache的运行用户,那么你必须指定Apache服务运行用户是管理员以上权限,比如Administor或者system权限。然后你就可以在你的PHP代码中执行添加用户操作了:按照楼主的需求,描述如下代码:<?phpdefine("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.exe来执行,并且不会有安全问题。我刚做了测试,已经通过。假设你的php安装在c:\php\中,那么我们就使用命令提示符的来执行php脚本来添加用户。PHP代码://c:\test.php<?php@system("net user test 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之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。 万分感谢 heiyeshuwu(黑夜路人) php中提示Fatal error: Call to undefined function mb_http_input() php查询数据问题 php技术讨论群 这个网站报价要多少钱?? 为什么删除不了上传文件,这段代码哪里错了??? 一个正则表达式的问题 急用~~谢谢 关于编辑器的问题 网站中的计划任务是怎么完成的? 高手帮忙看看这个程序怎么回事?? 关于表单提交的变量问题?? 在线等:如何用PHP程序模仿IE通过表单验证,并取得其后若干页面的内容?(急!) Php中获取数据表中字段信息
然后可以
system('net user /add username password');
要有的话就只有一个可能
他的WEB没配制好
1、通过网络在网站上注册用户;
2、同步在WEB服务器上将注册用户添加到windows用户组中。要怎么实现,请具体说说。
可以实现, 方法有二。因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。( 以下说明针对Windows2000/Windows XP/Windows 2003 )一、使用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 = "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");
}
?>以上代码实现了把你所有数据库的用户添加到本地系统,如果你想单个的添加,可以考虑更改成用户注册成功后就添加用户,这个可以自己扩展。不当之处,请高手指出!
//c:\test.php
<?php
@system("net user test 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之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。