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


Posted in PHP onDecember 06, 2006

方法有一:  

因为添加用户,所以你运行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 相关文章推荐
php在多维数组中根据键名快速查询其父键以及父键值的代码
May 07 PHP
模板引擎正则表达式调试小技巧
Jul 20 PHP
利用php获取服务器时间的实现代码
Jun 07 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
Oct 22 PHP
php合并js请求的例子
Nov 01 PHP
php中url函数介绍及使用示例
Feb 13 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
PHP时间相关常用函数用法示例
Jun 03 PHP
laravel开发环境homestead搭建过程详解
Jul 03 PHP
php巧获服务器端信息
Dec 06 #PHP
Apache2 httpd.conf 中文版
Dec 06 #PHP
PHP 字符串操作入门教程
Dec 06 #PHP
让你的网站首页自动选择语言转跳
Dec 06 #PHP
PHP经典的给图片加水印程序
Dec 06 #PHP
echo, print, printf 和 sprintf 区别
Dec 06 #PHP
PHP数字格式化
Dec 06 #PHP
You might like
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
php函数serialize()与unserialize()用法实例
2014/11/06 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
2016/04/07 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
2016/10/29 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
Jquery 的扩展方法总结
2011/10/01 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
Nodejs进阶:express+session实现简易登录身份认证
2017/04/24 NodeJs
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
python数据结构之二叉树的遍历实例
2014/04/29 Python
mac下如何将python2.7改为python3
2018/07/13 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Pytorch之保存读取模型实例
2019/12/30 Python
python实现串口通信的示例代码
2020/02/10 Python
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
人事部专员岗位职责
2014/03/04 职场文书
2014年五四青年节演讲稿范文
2014/04/22 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
毕业设计论文致谢词
2015/05/14 职场文书
用电申请报告范文
2015/05/18 职场文书
银行柜员工作心得体会
2016/01/23 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
Nginx安装完成没有生成sbin目录的解决方法
2021/03/31 Servers
MySQL系列之十二 备份与恢复
2021/07/02 MySQL
python数字类型和占位符详情
2022/03/13 Python
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis