使用PHP往Windows系统中添加用户

没心没肺还没钱

没心没肺还没钱

2016-01-29 15:05

使用PHP往Windows系统中添加用户,使用PHP往Windows系统中添加用户
 

可以实现, 方法有二。

一、再Web中添加用户

因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的php.ini中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

( 以下说明针对Windows2000/Windows XP/Windows 2003 )

1、使用IIS做Web服务器
如果是使用IIS做服务器的话,那么运行PHP的帐户就是:IUSR_XXXXXXXX,IWAM_XXXXXXX,(XXXX代表服务器的计算机名),那么你必须把这两个用户加到管理员组:Administrators 。当然,你这样做的话,会给服务器安全带来威胁。

1、使用Apache作为Web服务器
据我了解,Apache安装成服务以后,那么就是以system权限运行的,那么就是说PHP运行的话,直接就是系统权限,已经超过了管理员权限,那么执行命令更不再话下。如果你修改了Apache的运行用户,那么你必须指定Apache服务运行用户是管理员以上权限,比如Administor或者system权限。

然后你就可以在你的PHP代码中执行添加用户操作了:

按照楼主的需求,描述如下代码:

<?php
define("USER_GROUP", "users"); //用户组,默认为users,为了安全,定义还是的用户组
define("ACTIVE", "YES"); //是否创建后直接激活用户,YES为激活,NO为不激活

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/php/)

//从数据库提取用户名和密码
//假设表为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做shell脚本来添加用户

另外,其实我还有个思路。可以在服务器端利用php.exe来执行,并且不会有安全问题。我刚做了测试,已经通过。

假设你的php安装在c:php中,那么我们就使用命令提示符的来执行php脚本来添加用户。

PHP代码:
//c:test.php
<?php
@system("net user heiyeluren test /add");
?
保存在c:test.php文件中
在cmd下执行:
c:phpphp.exe c:test.php
提示:
C:c:phpphp.exe c:test.php
命令成功完成。

那么从这个角度出发,完全可以将上面我写的那段代码拿到这里来执行,然后php.exe充当shell脚本引擎。然后写成批处理,通过定时任务来执行。当然,也可以考虑使用其他语言来实现,比如vb/vc之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。

 
展开更多 50%)
分享

猜你喜欢

使用PHP往Windows系统中添加用户

PHP
使用PHP往Windows系统中添加用户

php中如何增加一个系统用户

PHP
php中如何增加一个系统用户

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Windows 8系统中怎么设置用户账户密码?

电脑入门
Windows 8系统中怎么设置用户账户密码?

使用PHP批量生成随机用户名

PHP
使用PHP批量生成随机用户名

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在MySql中添加远程超级用户

MySQL mysql数据库
在MySql中添加远程超级用户

如何在Windows7系统中添加打印目录

电脑网络
如何在Windows7系统中添加打印目录

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

php+odbc+access数据库操作函数,在windows下测试通过

php+odbc+access数据库操作函数,在windows下测试通过

php调用mysql存储过程和函数的方法

php调用mysql存储过程和函数的方法
下拉加载更多内容 ↓