Dies kann auf zwei Arten erreicht werden.
1. Fügen Sie Benutzer zum Web hinzu
. Da Sie Benutzer hinzufügen, muss der Benutzer, den Sie das PHP-Programm ausführen, über Administratorrechte (Administrator) verfügen. Gleichzeitig darf der abgesicherte Modus in Ihrer php.ini nicht aktiviert sein system() darf in der Shutdown-Funktion, exec(), passhru() und anderen Funktionen nicht geschlossen werden.
(Die folgenden Anweisungen gelten für Windows2000/Windows XP/Windows 2003)
1. Verwenden Sie IIS als Webserver. Wenn Sie IIS als Server verwenden, lautet das Konto, auf dem PHP ausgeführt wird: IUSR_XXXXXXXX, (XXXX steht für den Computernamen des Server), dann müssen Sie diese beiden Benutzer zur Administratorengruppe hinzufügen: Administratoren. Wenn Sie dies tun, stellt dies natürlich eine Gefahr für die Serversicherheit dar.
1. Soweit ich weiß, wird Apache nach der Installation als Dienst mit Systemberechtigungen ausgeführt. Das bedeutet, dass es beim Ausführen von PHP direkt über Systemberechtigungen verfügt, die über die Administratorberechtigungen hinausgehen Es ist nicht mehr möglich, Befehle auszuführen. Wenn Sie den laufenden Benutzer von Apache ändern, müssen Sie angeben, dass der laufende Benutzer des Apache-Dienstes über Administrator- oder höhere Berechtigungen verfügt, z. B. Administrator- oder Systemberechtigungen.
Anschließend können Sie den Vorgang „Benutzer hinzufügen“ in Ihrem PHP-Code ausführen:
Beschreiben Sie entsprechend den Anforderungen des Posters den folgenden Code:
<?php
define("USER_GROUP", "users"); //Benutzergruppe, der Standardwert ist Benutzer, aus Sicherheitsgründen wird die Benutzergruppe definiert
define("ACTIVE", "YES"); //Ob der Benutzer direkt nach der Erstellung aktiviert werden soll, JA bedeutet Aktivierung, NEIN bedeutet Inaktivierung
//Benutzernamen und Passwort aus der Datenbank extrahieren
//Angenommen, die Tabelle ist user_info und enthält nur die Felder id, user, passwod
$sql = "SELECT user,password FROM user_info";
$result = mysql_query($sql) or die("Datenbankabfrage fehlgeschlagen");
//Schleife zum Einfügen von Benutzern
while ($array = mysql_fetch_array($result)) {
if (!function_exists("system"))
die('Funktion system() existiert nicht, Benutzer hinzufügen fehlgeschlagen.');
//Benutzer hinzufügen
@system("net user $array[user] $array[passwd] /active:ACTIVE /add");
//Zur angegebenen Gruppe hinzufügen
@system("net localgroup users $array[user] /del");
@system("net localgroup USER_GROUP $array[user] /add");
}
?>
Der obige Code fügt Benutzer aller Ihrer Datenbanken zum lokalen System hinzu. Wenn Sie sie einzeln hinzufügen möchten, können Sie ihn nach erfolgreicher Benutzerregistrierung ändern.
2. Verwenden Sie PHP als Shell-Skript, um Benutzer hinzuzufügen.
Außerdem habe ich noch eine andere Idee. Es kann ohne Sicherheitsprobleme mit php.exe auf der Serverseite ausgeführt werden. Ich habe gerade den Test gemacht und er hat bestanden.
Angenommen, Ihr PHP ist in c:php installiert, dann verwenden wir die Eingabeaufforderung, um das PHP-Skript zum Hinzufügen von Benutzern auszuführen.
PHP-Code:
//c:test.php
<?php
@system("net user heiyeluren test /add");
?>
Speichern Sie es in der Datei c:test.php und führen Sie es unter cmd aus:
c:phpphp.exe c:test.php
Hinweis:
C:>c:phpphp.exe c:test.php
Der Befehl wurde erfolgreich abgeschlossen.
Aus dieser Perspektive kann der Code, den ich oben geschrieben habe, hierher gebracht werden, um ausgeführt zu werden, und dann fungiert php.exe als Shell-Skript-Engine. Schreiben Sie es dann als Batch-Prozess und führen Sie ihn über geplante Aufgaben aus. Natürlich können Sie auch andere Sprachen zur Implementierung verwenden, z. B. vb/vc. Durchsuchen Sie die Datenbank regelmäßig, um festzustellen, ob neu hinzugefügte Benutzer vorhanden sind, und fügen Sie diese dann dem System hinzu.