国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

使用PHP往Windows系統中添加用戶

瀏覽:64日期:2022-09-18 16:29:18

可以實現, 方法有二。

一、再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代碼中執行添加用戶操作了:

按照樓主的需求,描述如下代碼:

<?phpdefine('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腳本來添加用戶

另外,其實我還有個思路。可以在服務器端利用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之類的,定期去數據庫中檢索是否有新添加的用戶,然后再把用戶添加到系統中。

標簽: Windows系統
主站蜘蛛池模板: 东城区| 台南县| 曲麻莱县| 石首市| 榆树市| 伊通| 额济纳旗| 洮南市| 泾川县| 饶河县| 浏阳市| 新密市| 古浪县| 石门县| 漳州市| 塔城市| 西昌市| 屏南县| 宜阳县| 彩票| 巴南区| 高清| 涞水县| 鸡西市| 涞水县| 朝阳县| 阜宁县| 临城县| 新平| 五莲县| 滕州市| 邢台县| 佛山市| 彭山县| 白朗县| 固阳县| 高尔夫| 阿鲁科尔沁旗| 焉耆| 那曲县| 荥经县|