如何使用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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
php面向对象全攻略 (四)构造方法与析构方法
Sep 30 PHP
php whois查询API制作方法
Jun 23 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
Jun 23 PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
Oct 30 PHP
php实现获取文章内容第一张图片的方法
Nov 04 PHP
PHP中使用curl入门教程
Jul 02 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 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
DOTA2【瓜皮时刻】Vol.91 RTZ山史最惨“矿难”
2021/03/05 DOTA
php 静态化实现代码
2009/03/20 PHP
对PHP新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
js前台分页显示后端JAVA数据响应
2013/03/18 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
2018/03/06 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
五一活动标语
2014/06/30 职场文书
婚宴邀请函
2015/01/30 职场文书
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
「海贼王」112.9万粉丝纪念图标公布
2022/03/21 日漫
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技