如何使用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 相关文章推荐
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
彻底杜绝PHP的session cookie错误
Aug 09 PHP
PHP 日志缩略名的创建函数代码
May 26 PHP
PHP句法规则详解 入门学习
Nov 09 PHP
php猜单词游戏
Sep 29 PHP
php验证手机号码
Nov 11 PHP
PHP 搜索查询功能实现
Nov 29 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
PDO::setAttribute讲解
Jan 29 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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
php单一接口的实现方法
2015/06/20 PHP
PHP递归创建多级目录
2015/11/05 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
不安全的常用的js写法
2009/09/15 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
2016/05/07 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
基于Vue组件化的日期联动选择器功能的实现代码
2018/11/30 Javascript
JavaScript变速动画函数封装添加任意多个属性
2019/04/03 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
2019/08/20 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
简述python Scrapy框架
2020/08/17 Python
python温度转换华氏温度实现代码
2020/12/06 Python
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
内容编辑个人求职信
2013/12/10 职场文书
商务会议邀请函
2014/01/09 职场文书
校园活动策划方案
2014/06/13 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
法制演讲稿
2014/09/10 职场文书
烈士陵园观后感
2015/06/08 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL