如何使用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 self,$this,const,static,-&amp;gt;的使用
Oct 22 PHP
php中static静态变量的使用方法详解
Jun 04 PHP
php正则过滤html标签、空格、换行符的代码(附说明)
Oct 25 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
php简单分页类实现方法
Feb 26 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
Mar 19 PHP
PHP date函数常用时间处理方法
May 11 PHP
PHP编程计算日期间隔天数的方法
Apr 26 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
thinkPHP5框架路由常用知识点汇总
Sep 15 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
Dec 18 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 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 7.1中AES加解密方法mcrypt_module_open()的替换方案
2017/10/17 PHP
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
中国地区三级联动下拉菜单效果分析
2012/11/15 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
jquery解析json格式数据的方法(对象、字符串)
2015/11/24 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
理解javascript模块化
2016/03/28 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
Bootstrap输入框组件使用详解
2017/06/09 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
详解Vue.js iview实现树形权限表(可扩展表)
2018/09/30 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
Selenium元素的常用操作方法分析
2018/08/10 Python
python try 异常处理(史上最全)
2019/03/07 Python
Python占用的内存优化教程
2019/07/28 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
详解HTML5中垂直上下居中的解决方案
2017/12/20 HTML / CSS
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
最新教师自我评价分享
2013/11/12 职场文书
高中军训感想300字
2014/03/04 职场文书
股份合作协议书范本
2014/04/14 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
导游词之无锡丝业博物馆
2019/11/12 职场文书