如何使用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 相关文章推荐
一个可以删除字符串中HTML标记的PHP函数
Oct 09 PHP
php 分页原理详解
Aug 21 PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
php校验表单检测字段是否为空的方法
Mar 20 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
PHP数组访问常用方法解析
Sep 05 PHP
PHP7 其他修改
Mar 09 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 和 MySQL 基础教程(三)
2006/10/09 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
jquery 通过name快速取值示例
2014/01/24 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
jQuery解析Json实例详解
2015/11/24 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
JavaScript原型继承和原型链原理详解
2020/02/04 Javascript
JavaScript实现轮播图特效
2020/04/10 Javascript
Python文件读取的3种方法及路径转义
2015/06/21 Python
Python 3中print函数的使用方法总结
2017/08/08 Python
python获取本机所有IP地址的方法
2018/12/26 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
什么是Remote Module
2016/06/10 面试题
应届毕业生求职信范例分享
2013/12/17 职场文书
教育科研先进个人材料
2014/01/26 职场文书
法学专业自我鉴定
2014/02/05 职场文书
给全校老师的建议书
2014/03/13 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
教师读书活动总结
2014/05/07 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
我的1919观后感
2015/06/03 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL