如何使用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 相关文章推荐
有关JSON以及JSON在PHP中的应用
Apr 09 PHP
Views rows style模板重写代码
May 16 PHP
php实现自动获取生成文章主题关键词功能的深入分析
Jun 03 PHP
深入解析PHP中逗号与点号的区别
Aug 05 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
PHP实现下载断点续传的方法
Nov 12 PHP
php递归json类实例
Dec 02 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
Dec 09 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
PHP读取CSV大文件导入数据库的实例
Jul 24 PHP
thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例
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
PHP 数组实例说明
2008/08/18 PHP
php调用C代码的实现方法
2014/03/11 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
javascript省市级联功能实现方法实例详解
2015/10/20 Javascript
EasyUI Pagination 分页的两种做法小结
2016/07/09 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
[05:22]DOTA2 2015国际邀请赛中国区预选赛首日TOP10
2015/05/26 DOTA
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
python发送邮件脚本
2018/05/22 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
Django如何开发简单的查询接口详解
2019/05/17 Python
Python 获取项目根路径的代码
2019/09/27 Python
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
CSMA/CD介质访问控制协议
2015/11/17 面试题
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
《音乐之都维也纳》教学反思
2014/04/16 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
关于工作经历的证明书
2014/10/11 职场文书
家长通知书家长意见
2014/12/30 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
入团介绍人意见范文
2015/06/04 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android