如何使用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 相关文章推荐
文件系统基本操作类
Nov 23 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
Jul 13 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
Mar 28 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
May 12 PHP
php随机获取金山词霸每日一句的方法
Jul 09 PHP
php微信开发之带参数二维码的使用
Aug 03 PHP
YII框架中使用memcache的方法详解
Aug 02 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
php 数据结构之链表队列
Oct 17 PHP
PHP+Session防止表单重复提交的解决方法
Apr 09 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 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中实现记住密码自动登录的代码
2011/03/02 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
深入PHP数据加密详解
2013/06/18 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
Exjs 入门篇
2010/04/07 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
js实现拖拽效果(构造函数)
2015/12/14 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
微信小程序 wx.login解密出现乱码的问题解决办法
2017/03/10 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
在vue和element-ui的table中实现分页复选功能
2019/12/04 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
python实现给字典添加条目的方法
2014/09/25 Python
分享python数据统计的一些小技巧
2016/07/21 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
使用python实现链表操作
2018/01/26 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
python实现文法左递归的消除方法
2020/05/22 Python
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
车间主管岗位职责
2013/11/14 职场文书
县优秀教师事迹材料
2014/01/31 职场文书
给校长的建议书200字
2014/05/16 职场文书
民事答辩状范本
2015/05/21 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
教你用python控制安卓手机
2021/05/13 Python
如何利用golang运用mysql数据库
2022/03/13 Golang