Ceci peut être réalisé de deux manières.
1. Ajouter des utilisateurs au Web
. En raison de l'ajout d'utilisateurs, l'utilisateur avec lequel vous exécutez le programme PHP doit disposer des droits d'administrateur (administrateur), et en même temps, le mode sans échec de votre php.ini ne doit pas être activé et le system() ne doit pas être fermé dans la fonction shutdown. ), exec(), passthru() et d'autres fonctions.
(Les instructions suivantes concernent Windows2000/Windows XP/Windows 2003)
1. Utilisez IIS comme serveur Web. Si vous utilisez IIS comme serveur, le compte exécutant PHP est : IUSR_XXXXXXX, IWAM_XXXXXXX, (XXXX représente le nom de l'ordinateur. serveur), vous devez alors ajouter ces deux utilisateurs au groupe Administrateurs : Administrateurs. Bien entendu, si vous procédez ainsi, cela constituera une menace pour la sécurité du serveur.
1. Utilisez Apache comme serveur Web. Pour autant que je sache, une fois Apache installé en tant que service, il s'exécute avec les autorisations système. Lorsque PHP est exécuté, il dispose directement des autorisations système, ce qui dépasse les autorisations de l'administrateur. il n'est plus possible d'exécuter des commandes. Si vous modifiez l'utilisateur en cours d'exécution d'Apache, vous devez alors spécifier que l'utilisateur en cours d'exécution du service Apache dispose d'autorisations d'administrateur ou supérieures, telles que des autorisations d'administrateur ou système.
Vous pouvez ensuite effectuer l'opération d'ajout d'utilisateur dans votre code PHP :
Selon les besoins de l'affiche, décrivez le code suivant :
<?php
définir("USER_GROUP", "users"); //Groupe d'utilisateurs, la valeur par défaut est utilisateurs, pour des raisons de sécurité, définissez le groupe d'utilisateurs
definition("ACTIVE", "YES"); //S'il faut activer l'utilisateur directement après la création, OUI signifie activation, NO signifie inactivation
//Extraire le nom d'utilisateur et le mot de passe de la base de données
// Supposons que la table soit user_info et ne contienne que les champs id, user, passwod
$sql = "SELECT utilisateur, mot de passe FROM user_info";
$result = mysql_query($sql) ou die("Échec de la requête sur la base de données");
//Boucle pour insérer des utilisateurs
while ($array = mysql_fetch_array($result)) {
si (!function_exists("system"))
die('La fonction system() n'existe pas, l'ajout d'un utilisateur a échoué.');
//Ajouter un utilisateur
@system("utilisateur net $array[user] $array[passwd] /active:ACTIVE /add");
//Ajouter au groupe spécifié
@system("utilisateurs du groupe local net $array[user] /del");
@system("net localgroup USER_GROUP $array[user] /add");
}
?>
Le code ci-dessus ajoute les utilisateurs de toutes vos bases de données au système local. Si vous souhaitez les ajouter individuellement, vous pouvez envisager de le modifier pour ajouter des utilisateurs après un enregistrement d'utilisateur réussi. Vous pouvez l'étendre vous-même.
2. Utilisez PHP comme script shell pour ajouter des utilisateurs.
De plus, j'ai en fait une autre idée. Il peut être exécuté en utilisant php.exe côté serveur sans aucun problème de sécurité. Je viens de passer le test et il a réussi.
En supposant que votre php est installé dans c:php, nous utilisons alors l'invite de commande pour exécuter le script php afin d'ajouter des utilisateurs.
Code PHP :
//c:test.php
<?php
@system("utilisateur net heiyeluren test /add");
?>
Enregistrez-le dans le fichier c:test.php et exécutez-le sous cmd :
c:phpphp.exe c:test.php
indice:
C:>c:phpphp.exe c:test.php
La commande s'est terminée avec succès.
Ainsi, de ce point de vue, le code que j'ai écrit ci-dessus peut être amené ici pour être exécuté, puis php.exe agit comme un moteur de script shell. Ensuite, écrivez-le sous forme de processus par lots et exécutez-le via des tâches planifiées. Bien sûr, vous pouvez également envisager d'utiliser d'autres langages pour l'implémenter, tels que vb/vc. Recherchez régulièrement dans la base de données s'il y a des utilisateurs nouvellement ajoutés, puis ajoutez les utilisateurs au système.