如何使用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 相关文章推荐
需要注意的几个PHP漏洞小结
Feb 05 PHP
PHP读取数据库并按照中文名称进行排序实现代码
Jan 29 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
PHP写日志的实现方法
Nov 05 PHP
PHP面向对象精要总结
Nov 07 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
Laravel 5框架学习之数据库迁移(Migrations)
Apr 08 PHP
php用户注册信息验证正则表达式
Nov 12 PHP
基于PHP实现简单的随机抽奖小程序
Jan 05 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
Sep 21 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
Oct 13 PHP
PHP常用函数之根据生日计算年龄功能示例
Oct 21 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 array_slice函数的使用以及参数详解
2008/08/30 PHP
PHP 数组遍历方法大全(foreach,list,each)
2010/06/30 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
php两种无限分类方法实例
2015/04/21 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
jquery插件 autoComboBox 下拉框
2010/12/22 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
JS日程管理插件FullCalendar简单实例
2017/02/07 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
Python内置函数Type()函数一个有趣的用法
2015/02/18 Python
python实现从字典中删除元素的方法
2015/05/04 Python
pygame播放音乐的方法
2015/05/19 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
完美解决python针对hdfs上传和下载的问题
2020/06/05 Python
Python bisect模块原理及常见实例
2020/06/17 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
财务主管的岗位职责
2013/12/30 职场文书
法学函授自我鉴定
2014/02/06 职场文书
工作说明书范文
2014/05/07 职场文书
年度考核表个人总结
2015/03/06 职场文书
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers