สามารถทำได้สองวิธี
1. เพิ่มผู้ใช้ไปยังเว็บ
เนื่องจากการเพิ่มผู้ใช้ ผู้ใช้ที่คุณเรียกใช้โปรแกรม PHP จะต้องมีสิทธิ์ของผู้ดูแลระบบ (ผู้ดูแลระบบ) และในเวลาเดียวกัน จะต้องไม่เปิดเซฟโหมดใน php.ini ของคุณ และ จะต้องไม่ปิด system() ในฟังก์ชันปิดเครื่อง ), exec(), passthru() และฟังก์ชันอื่นๆ
(คำแนะนำต่อไปนี้ใช้สำหรับ Windows2000/Windows XP/Windows 2003)
1. ใช้ IIS เป็นเว็บเซิร์ฟเวอร์ หากคุณใช้ IIS เป็นเซิร์ฟเวอร์ บัญชีที่ใช้งาน PHP คือ: IUSR_XXXXXXXX, IWAM_XXXXXXX (XXXX แสดงถึงชื่อคอมพิวเตอร์ของ เซิร์ฟเวอร์) จากนั้นคุณจะต้องเพิ่มผู้ใช้สองคนนี้ไปยังกลุ่มผู้ดูแลระบบ: ผู้ดูแลระบบ แน่นอนว่าหากคุณทำเช่นนี้ มันจะก่อให้เกิดภัยคุกคามต่อความปลอดภัยของเซิร์ฟเวอร์
1. ใช้ Apache เป็นเว็บเซิร์ฟเวอร์ เท่าที่ฉันรู้ หลังจากติดตั้ง Apache เป็นบริการแล้ว มันก็จะทำงานโดยมีสิทธิ์ของระบบ นั่นหมายความว่าเมื่อ PHP ทำงาน มันจะมีสิทธิ์ของระบบโดยตรง ซึ่งเกินกว่าสิทธิ์ของผู้ดูแลระบบ ดังนั้น ไม่สามารถดำเนินการคำสั่งถัดไปได้อีกต่อไป หากคุณแก้ไขผู้ใช้ที่รันของ Apache คุณต้องระบุว่าผู้ใช้ที่รันของบริการ Apache นั้นมีสิทธิ์ผู้ดูแลระบบหรือสิทธิ์ที่สูงกว่า เช่น ผู้ดูแลระบบหรือสิทธิ์ของระบบ
จากนั้น คุณสามารถดำเนินการเพิ่มผู้ใช้ในโค้ด PHP ของคุณได้:
ตามความต้องการของผู้โพสต์ ให้อธิบายโค้ดต่อไปนี้:
<?php
กำหนด ("USER_GROUP", "users"); // กลุ่มผู้ใช้ ค่าเริ่มต้นคือผู้ใช้ เพื่อความปลอดภัย ให้กำหนดกลุ่มผู้ใช้
กำหนด ("ACTIVE", "YES"); // ไม่ว่าจะเปิดใช้งานผู้ใช้โดยตรงหลังจากสร้าง YES หมายถึงการเปิดใช้งาน NO หมายถึงการปิดใช้งาน
// แยกชื่อผู้ใช้และรหัสผ่านออกจากฐานข้อมูล
//สมมติว่าตารางเป็น user_info และมีเพียงฟิลด์ id, ผู้ใช้, รหัสผ่าน
$sql = "เลือกผู้ใช้, รหัสผ่านจาก user_info";
$result = mysql_query($sql) or die("ฐานข้อมูลแบบสอบถามล้มเหลว");
//วนซ้ำเพื่อแทรกผู้ใช้
ในขณะที่ ($array = mysql_fetch_array($result)) {
ถ้า (!function_exists("ระบบ"))
die('ระบบฟังก์ชั่น() ไม่มีอยู่, เพิ่มผู้ใช้ล้มเหลว');
//เพิ่มผู้ใช้
@system("ผู้ใช้เน็ต $array[ผู้ใช้] $array[passwd] /active:ACTIVE /add");
//เพิ่มไปยังกลุ่มที่ระบุ
@system("ผู้ใช้ net localgroup $array[user] /del");
@system("net localgroup USER_GROUP $array[user] /add");
-
?>
โค้ดด้านบนจะเพิ่มผู้ใช้ฐานข้อมูลทั้งหมดของคุณไปยังระบบภายในเครื่อง คุณสามารถพิจารณาเปลี่ยนเพื่อเพิ่มผู้ใช้หลังจากการลงทะเบียนผู้ใช้สำเร็จ ซึ่งสามารถขยายได้ด้วยตัวเอง
2. ใช้ PHP เป็นเชลล์สคริปต์เพื่อเพิ่มผู้ใช้
นอกจากนี้ จริงๆ แล้วฉันมีแนวคิดอีกอย่างหนึ่ง สามารถดำเนินการได้โดยใช้ php.exe บนฝั่งเซิร์ฟเวอร์โดยไม่มีปัญหาด้านความปลอดภัย ฉันเพิ่งทำการทดสอบและมันก็ผ่านไป
สมมติว่า php ของคุณได้รับการติดตั้งใน c:php จากนั้นเราจะใช้พรอมต์คำสั่งเพื่อรันสคริปต์ php เพื่อเพิ่มผู้ใช้
รหัส PHP:
//c:test.php
<?php
@system("net user ทดสอบ heiyeluren /add");
-
บันทึกลงในไฟล์ c:test.php และดำเนินการภายใต้ cmd:
c:phpphp.exe c:test.php
คำใบ้:
C:>c:phpphp.exe c:test.php
คำสั่งเสร็จสมบูรณ์เรียบร้อยแล้ว
ดังนั้นจากมุมมองนี้ โค้ดที่ฉันเขียนด้านบนสามารถนำมาที่นี่เพื่อดำเนินการได้ จากนั้น php.exe จะทำหน้าที่เป็นกลไกเชลล์สคริปต์ จากนั้นเขียนเป็นกระบวนการแบบแบตช์และดำเนินการผ่านงานที่กำหนดเวลาไว้ แน่นอน คุณยังสามารถพิจารณาใช้ภาษาอื่นเพื่อนำไปใช้ได้ เช่น vb/vc ค้นหาฐานข้อมูลเป็นประจำเพื่อดูว่ามีผู้ใช้ที่เพิ่มเข้ามาใหม่หรือไม่ จากนั้นจึงเพิ่มผู้ใช้เข้าสู่ระบบ