För att ändra en användares lösenord automatiskt med PHP , använd " förväntar , " en Unix -verktyg för att göra det lättare att automatisera program kommandoraden som " passwd " verktyg som används för att ändra lösenord . Tack och lov , kommer PHP med ett inbyggt gränssnitt till " Förvänta " kommandot . Detta gör att du kan starta upp " passwd " utility och skriva till sin ingång direkt precis som om du skulle skriva till en fil . . Instruktioner
1
Öppna din favorit texteditor
2
Klistra PHP taggar: < ? Php
>
;
All kod för resten av handledning kommer att gå mellan dessa två linjer
3
Klistra in följande för att starta " passwd " utility och länka dess gränssnitt . till en fil handtag :
$ passwd_handle = expect_popen ( " passwd " ) ;
4
Klistra in följande för att ge " passwd " lite tid att starta upp :
sleep ( 1 )
5
Klistra in följande för att skriva till passwd programmet :
fwrite ( $ passwd_handle , " oldpass \\ n " ) ;
sedan passwd programmet , om det drivs manuellt , frågar först efter det gamla lösenordet för den aktuella användaren , måste det gamla lösenordet vara det första skrivs till $ passwd_handle av ditt manus . Naturligtvis bör " oldpass " ändras för att spegla den sanna gamla lösenordet . Det måste följas av " \\ n " -kommandot , som representerar " Enter" Klistra in följande för att skriva det nya lösenordet
6
: .
Fwrite ( $ passwd_handle , " newpass \\ n " ) ;
fwrite
( $ passwd_handle , " newpass \\ n " ) ;
skriptet skriver data till uppmaningarna ges av " passwd " precis som en användare skulle om köra programmet manuellt . Sedan frågar passwd för samma lösenord som ska ges två gånger , måste du ha PHP-skript skriver det nya lösenordet två gånger för att programmet
7
Stäng anslutningen till kommandot passwd : .
fclose ( $ passwd_handle ) ,