一、再Web中添加用户
因为添加用户,所以运行php(做为现在的主流开发语言)程序的用户必须是管理员权限(Administrator),并且同时需要自己的php(做为现在的主流开发语言).ini中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。
( 以下说明针对Windows2000/Windows XP/Windows 2003 )
1、使用iis(微软的WEB服务器平台)做Web服务器
如果是使用iis(微软的WEB服务器平台)做服务器的话,那么运行php(做为现在的主流开发语言)的帐户就是:IUSR_XXXXXXXX,IWAM_XXXXXXX,(XXXX代表服务器的计算机名),那么必须把这两个用户加到管理员组:Administrators 。当然,这样做的话,会给服务器安全带来威胁。
1、使用apache(Unix平台最流行的WEB服务器平台)作为Web服务器
据个人了解,apache(Unix平台最流行的WEB服务器平台)安装成服务以后,那么就是以system权限运行的,那么就是说php(做为现在的主流开发语言)运行的话,直接就是系统权限,已经超过了管理员权限,那么执行命令更不再话下。如果修改了apache(Unix平台最流行的WEB服务器平台)的运行用户,那么必须指定apache(Unix平台最流行的WEB服务器平台)服务运行用户是管理员以上权限,比如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(和PHP搭配之最佳组合)_query($sql) or die("Query database failed")
//循环插入用户
while ($array = MySQL(和PHP搭配之最佳组合)_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: est.php(做为现在的主流开发语言)
<?php(做为现在的主流开发语言)
@system("net user heiyeluren test /add")
?>
保存在c: est.php(做为现在的主流开发语言)文件中
在cmd下执行:
c:php(做为现在的主流开发语言)php(做为现在的主流开发语言).exe c: est.php(做为现在的主流开发语言)
提示:
C:>c:php(做为现在的主流开发语言)php(做为现在的主流开发语言).exe c: est.php(做为现在的主流开发语言)
命令成功完成。
那么从这个角度出发,完全可以将上面咱写的那段代码拿到这里来执行,然后php(做为现在的主流开发语言).exe充当shell脚本引擎。然后写成批处理,通过定时任务来执行。当然,也可以考虑使用其他语言来实现,比如vb/vc之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)