使用PHP往Windows系统中添加用户
生活随笔
收集整理的這篇文章主要介紹了
使用PHP往Windows系统中添加用户
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
可以實現(xiàn), 方法有二。 一、再Web中添加用戶 因為添加用戶,所以你運行PHP程序的用戶必須是管理員權限(Administrator),并且同時需要你的php.ini中的安全模式?jīng)]有打開,并且關閉函數(shù)中沒有關閉system()、exec()、passthru()等函數(shù)。 ( 以下說明針對Windows2000/Windows XP/Windows 2003 ) 1、使用IIS做Web服務器
如果是使用IIS做服務器的話,那么運行PHP的帳戶就是:IUSR_XXXXXXXX,IWAM_XXXXXXX,(XXXX代表服務器的計算機名),那么你必須把這兩個用戶加到管理員組:Administrators 。當然,你這樣做的話,會給服務器安全帶來威脅。 1、使用Apache作為Web服務器
據(jù)我了解,Apache安裝成服務以后,那么就是以system權限運行的,那么就是說PHP運行的話,直接就是系統(tǒng)權限,已經(jīng)超過了管理員權限,那么執(zhí)行命令更不再話下。如果你修改了Apache的運行用戶,那么你必須指定Apache服務運行用戶是管理員以上權限,比如Administor或者system權限。 然后你就可以在你的PHP代碼中執(zhí)行添加用戶操作了: 按照樓主的需求,描述如下代碼: <?php
define("USER_GROUP", "users"); //用戶組,默認為users,為了安全,定義還是的用戶組
define("ACTIVE", "YES"); //是否創(chuàng)建后直接激活用戶,YES為激活,NO為不激活 //從數(shù)據(jù)庫提取用戶名和密碼
//假設表為user_info,并且只有字段id, user, passwod
$sql = "SELECT user,password FROM user_info";
$result = mysql_query($sql) or die("Query database failed");
//循環(huán)插入用戶
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");
}
?> 以上代碼實現(xiàn)了把你所有數(shù)據(jù)庫的用戶添加到本地系統(tǒng),如果你想單個的添加,可以考慮更改成用戶注冊成功后就添加用戶,這個可以自己擴展。 二、使用php做shell腳本來添加用戶 另外,其實我還有個思路。可以在服務器端利用php.exe來執(zhí)行,并且不會有安全問題。我剛做了測試,已經(jīng)通過。 假設你的php安裝在c:php中,那么我們就使用命令提示符的來執(zhí)行php腳本來添加用戶。 PHP代碼:
//c: est.php
<?php
@system("net user heiyeluren test /add");
?>
保存在c: est.php文件中
在cmd下執(zhí)行:
c:phpphp.exe c: est.php
提示:
C:>c:phpphp.exe c: est.php
命令成功完成。 那么從這個角度出發(fā),完全可以將上面我寫的那段代碼拿到這里來執(zhí)行,然后php.exe充當shell腳本引擎。然后寫成批處理,通過定時任務來執(zhí)行。當然,也可以考慮使用其他語言來實現(xiàn),比如vb/vc之類的,定期去數(shù)據(jù)庫中檢索是否有新添加的用戶,然后再把用戶添加到系統(tǒng)中。
轉載于:https://blog.51cto.com/zzjnet/127935
總結
以上是生活随笔為你收集整理的使用PHP往Windows系统中添加用户的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决软件安装中出现checking fo
- 下一篇: 又一年。继续IT。