Um das Kennwort eines Benutzers automatisch ändern mit PHP , verwenden Sie "erwarten", ein Unix-Programm entwickelt, um es einfacher zu Befehlszeile Programme wie das " Passwort"- Dienstprogramm verwendet, um Passwörter ändern zu automatisieren. Zum Glück kommt mit einem PHP eingebaute Schnittstelle zur "Expect "-Befehl. Dies ermöglicht es Ihnen die Inbetriebnahme der "passwd " Nutzen und an ihren Eingang direkt schreiben , als ob Sie wurden in eine Datei schreiben . . Anweisungen
1
Öffnen Sie Ihren bevorzugten Texteditor
2
die PHP-Tags einfügen: < ? Php
>
;
gesamte Code für den Rest des Tutorials wird zwischen diesen beiden Linien gehen
3
Fügen Sie den folgenden zur Inbetriebnahme der "passwd " utility und verknüpfen ihre Schnittstelle . zu einem Datei-Handle :
$ passwd_handle = expect_popen ( "passwd ");
4
Fügen Sie den folgenden zu " passwd" ein wenig Zeit zu starten geben :
< p> sleep (1 )
5
Fügen Sie den folgenden auf dem Programm passwd schreiben:
fwrite ( $ passwd_handle " oldpass \\ n");
da das Programm passwd , wenn manuell ausführen , fragt zuerst das alte Passwort des aktuellen Benutzers , muss das alte Passwort das erste, was geschrieben $ passwd_handle von Ihrem Skript . Natürlich sollte " oldpass " geändert werden, um die wahre alte Passwort zu reflektieren. Es muss von der "\\ n" -Befehl, der die "Enter "-Taste stellt folgen
6
Fügen Sie den folgenden um das neue Kennwort schreiben: .
Fwrite ( $ passwd_handle , " newpass \\ n");
fwrite ( $ passwd_handle " newpass \\ n");
das Skript wird das Schreiben von Daten der Aufforderungen "passwd " genau so, wie wenn ein Benutzer gegeben läuft das Programm manuell . Seit passwd fragt nach dem gleichen Passwort zweimal gegeben werden , müssen Sie das PHP-Skript schreiben zweimal das neue Passwort in das Programm
7
schließen die Verbindung zur passwd -Befehl: .
< P > fclose ( $ passwd_handle );