使用往系统中添加用户物业
中医美容 2021年09月06日 浏览:5 次
再csdn论坛上看到类似问题,所以有了一下回答,一个简单的思路。
可以实现, 方法有二。
一、再Web中添加用户
因为添加用户,所以你运行PHP程序的用户必须是管理员权限(Administrator),并且同时需要你的i中的安全模式没有打开,并且关闭函数中没有关闭system()、exec()、passthru()等函数。
( 以下说明针对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为不激活
//从数据库提取用户名和密码
陈某某为何跳楼轻生?就此进行了采访。酒店大堂经理称 //假设表为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脚本来添加用户
另外,其实我还有个思路。可以在服务器端利用e来执行,并且不会有安全问题。我刚做了测试,已经通过。
假设你的php安装在c:\\php\\中,那么我们就使用命令提示符的来执行php脚本来添加用户。
PHP代码:
//c:\\p
?php
@system(\"net user heiyeluren test /add\");
?
保存在c:\\p文件中
在cmd下执行:
c:\\php\\e c:\\p
提示:
C:\\c:\\php\\e c:\\p
命令成功完成。
那么从这个角度出发,完全可以将上面我写的那段代码拿到这里来执行,然后e充当shell脚本引擎。然后写成批处理,通过定时任务来执行。当然,也可以考虑使用其他语言来实现,比如vb/vc之类的,定期去数据库中检索是否有新添加的用户,然后再把用户添加到系统中。
成都有没有不孕不育医院石家庄白癜风医院在哪
湛江哪里看癫痫

-
中国2月16日海南楼市网签178套仅海口三亚
2020-09-14
-
幸福快乐中介称国庆海口楼市热销7天销量抵平时1个依依不舍
2020-06-20
-
葛细菌性叶斑病
2019-07-13
-
重点推进县级公立医院改革
2019-07-13
-
中医推荐三种美味的瘦身粥
2019-07-13
-
警惕眼圈发黑需要及时补肾
2019-07-13