For å endre en brukers passord automatisk med PHP , bruker du " forventer ", en Unix verktøy utviklet for å gjøre det enklere å automatisere kommandolinje programmer som " passwd "-verktøyet brukes til å endre passord. Heldigvis kommer PHP med en innebygd grensesnitt til "Expect "-kommandoen . Dette vil tillate deg å starte opp " passwd "-verktøyet og skrive til sine innspill direkte akkurat som om du skulle skrive til en fil. . Instruksjoner
en
Åpne din favoritt teksteditor
2
Lim PHP tags: < ? Php
>
;
All kode for resten av opplæringen vil gå mellom disse to linjene
3
Lim inn følgende for å starte opp " passwd "-verktøyet og knytte sitt grensesnitt . til en fil håndtak : en
$ passwd_handle = expect_popen ( " passwd ");
4
Lim inn følgende for å gi " passwd " litt tid å starte opp :
< p> søvn ( 1 )
5
Lim inn følgende for å skrive til passwd program : en
fwrite ( $ passwd_handle , " oldpass \\ n" ) ;
siden passwd program , hvis kjøres manuelt , spør først for det gamle passordet til den aktuelle brukeren , må det gamle passordet være det første skrevet til $ passwd_handle av skriptet. Naturligvis bør " oldpass " endres for å reflektere den sanne gamle passordet. Det må bli etterfulgt av "\\ n "-kommandoen , som representerer " Enter"-tasten
6
Lim inn følgende for å skrive det nye passordet : .
Fwrite ( $ passwd_handle , " newpass \\ n ");
fwrite ( $ passwd_handle , " newpass \\ n ");
manuset er skrive data til instruksjonene som gis av " passwd " akkurat som en bruker ville gjort hvis kjøre programmet manuelt . Siden passwd ber om det samme passordet som skal gis to ganger, må du ha PHP script skrive det nye passordet to ganger til programmet
7
Close forbindelsen til passwd kommandoen : .
< P > fclose ( $ passwd_handle ) ;