如何使用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 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
php小偷相关截取函数备忘
Nov 28 PHP
工厂模式在Zend Framework中应用介绍
Jul 10 PHP
php使用递归函数实现数字累加的方法
Mar 16 PHP
php 输入输出流详解及示例代码
Aug 25 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
php获取用户真实IP和防刷机制的实例代码
Nov 28 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
PHP中Static(静态)关键字功能与用法实例分析
Apr 05 PHP
php连接sftp的作用以及实例代码
Sep 23 PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 04 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
一个用php3编写的简单计数器
2006/10/09 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
php分页原理 分页代码 分页类制作教程
2016/09/23 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
详解vue渲染从后台获取的json数据
2017/07/06 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
JS实现的小火箭发射动画效果示例
2018/12/08 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
python实现目录树生成示例
2014/03/28 Python
Python脚本获取操作系统版本信息
2016/12/17 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
Python测试网络连通性示例【基于ping】
2018/08/03 Python
python 重命名轴索引的方法
2018/11/10 Python
logging level级别介绍
2020/02/21 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
学校七一活动方案
2014/01/19 职场文书
行政副总岗位职责
2014/02/23 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
创先争优承诺书范文
2014/03/31 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
批评与自我批评总结
2014/10/17 职场文书
神农溪导游词
2015/02/11 职场文书
回复函格式及范文
2015/07/14 职场文书
初中生物教学随笔
2015/08/15 职场文书