如何使用PHP往windows中添加用户

 更新时间:2006年12月06日 00:00:00   作者:  
方法有一:  

因为添加用户,所以你运行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");  
}  
?> 

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

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

方法二:  
可以在服务器端利用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之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。

相关文章

  • 在php和MySql中计算时间差的方法详解

    在php和MySql中计算时间差的方法详解

    这篇文章主要介绍了在php和MySql中计算时间差的方法详解的相关资料,需要的朋友可以参考下
    2015-03-03
  • PHP面向对象继承用法详解(优化与减少代码重复)

    PHP面向对象继承用法详解(优化与减少代码重复)

    这篇文章主要介绍了PHP面向对象继承用法,结合实例形式分析了php面向对象程序设计中继承的使用方法及代码优化处理与减少代码重复的相关操作技巧,需要的朋友可以参考下
    2016-12-12
  • php自动加载的两种实现方法

    php自动加载的两种实现方法

    php自动加载的两种实现方法,需要的朋友可以参考下。
    2010-06-06
  • PHP 文件上传全攻略

    PHP 文件上传全攻略

    PHP文件上传功能一般都是大家使用事先封装好的函数,要用的时候直接使用已封装的函数就完了,但有时候不能使用封装函数,还真不大能记住PHP的上传相关的东西,在此做个总结,以备后用。
    2010-04-04
  • php的RSA加密解密算法原理与用法分析

    php的RSA加密解密算法原理与用法分析

    这篇文章主要介绍了php的RSA加密解密算法原理与用法,结合实例形式分析了rsa加密解密算法的相关概念、原理及PHP使用RSA加密解密算法的具体实现技巧,需要的朋友可以参考下
    2020-01-01
  • php使用NumberFormatter格式化货币的方法

    php使用NumberFormatter格式化货币的方法

    这篇文章主要介绍了php使用NumberFormatter格式化货币的方法,实例分析了php中NumberFormatter类的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 深入file_get_contents函数抓取内容失败的原因分析

    深入file_get_contents函数抓取内容失败的原因分析

    本篇文章是对file_get_contents函数抓取内容失败的原因进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP中你可能忽略的性能优化利器:生成器

    PHP中你可能忽略的性能优化利器:生成器

    性能优化是我们开发中必不可少的一部分,下面这篇文章主要给大家介绍了关于PHP中你可能忽略的性能优化利器:生成器的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-12-12
  • 控制PHP的输出:缓存并压缩动态页面

    控制PHP的输出:缓存并压缩动态页面

    PHP4中最令人满意的事是——你可以让PHP缓存所有由脚本生成的输出,在你决定把它们送出之前,浏览器方是不会收到任何内容的
    2013-06-06
  • PHP简单实现生成txt文件到指定目录的方法

    PHP简单实现生成txt文件到指定目录的方法

    这篇文章主要介绍了PHP简单实现生成txt文件到指定目录的方法,简单对比分析了PHP中fwrite及file_put_contents等函数的使用方法,需要的朋友可以参考下
    2016-04-04

最新评论