|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你的确对PHP有兴趣,那么选择教材也是很重要的。window 由于添加用户,所以你运转PHP法式的用户必需是办理员权限(Administrator),而且同时需求你的php.ini中的平安形式没有翻开,而且封闭函数中没有封闭system()、exec()、passthru()等函数。
再csdn服装论坛上看到相似成绩,所以有了一下回覆,一个复杂的思绪。
http://community.csdn.net/Expert/topic/4190/4190360.xml?temp=.7591669
可以完成, 办法有二。
1、再Web中添加用户
由于添加用户,所以你运转PHP法式的用户必需是办理员权限(Administrator),而且同时需求你的php.ini中的平安形式没有翻开,而且封闭函数中没有封闭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");
}
?>
以上代码完成了把你一切数据库的用户添加到当地体系,假如你想单个的添加,可以思索更改成用户注册胜利后就添加用户,这个可以本人扩大。
2、利用php做shell剧本来添加用户
别的,其实我还有个思绪。可以在办事器端使用php.exe来履行,而且不会有平安成绩。我刚做了测试,已经由过程。
假定你的php装置在c:\php\中,那末咱们就利用号令提醒符的来履行php剧本来添加用户。
PHP代码:
//c:\test.php
<?php
@system("net user heiyeluren 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语言语法结构和应用的学习。 |
|