Hvordan endre et passord med PHP Script

For å endre en brukers passord automatisk med PHP, bruker du "forventer", en Unix verktøy utviklet for å gjøre det enklere å automatisere kommandolinjeprogrammer som "passwd" verktøyet brukes til å endre passord. Heldigvis kommer PHP med en innebygd grensesnitt til "forventer" kommandoen. Dette vil tillate deg å starte opp "passwd" -verktøyet og skrive til sin inngang direkte akkurat som om du skulle skrive til en fil.

Bruksanvisning

1 Åpne din favoritt teksteditor.

2 Lim PHP koder:

<? 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 koble grensesnittet til en fil håndtak:

$ Passwd_handle = expect_popen ( "passwd");

4 Lim inn følgende å gi "passwd" litt tid å starte opp:

sove (1)

5 Lim inn følgende å skrive til passwd programmet:

fwrite ($ passwd_handle, "oldpass \ n");

Siden passwd program, hvis kjøres manuelt, spør først for gamle passordet til den aktuelle brukeren, må det gamle passordet være det første skrevet til $ passwd_handle av skriptet. Naturligvis "oldpass" bør endres for å reflektere den sanne gamle passordet. Det må følges av "\ n" kommandoen, som representerer "Enter" -tasten.

6 Lim inn følgende for å skrive inn det nye passordet:

fwrite ($ passwd_handle, "newpass \ n");

fwrite ($ passwd_handle, "newpass \ n");

Manuset skriver data til instruksjonene gitt av "passwd" akkurat som en bruker ville hvis du kjører programmet manuelt. Siden passwd ber om det samme passordet som skal gis to ganger, må du ha PHP-script skrive nytt passord to ganger til programmet.

7 Lukk tilkobling til passwd kommandoen:

fclose ($ passwd_handle);

Hint

  • Vær forsiktig med hvordan dette blir brukt: Eventuelle passord lagret i selve teksten i manuset er ukryptert og synlig for alle brukere som har lesetilgang til skriptfilen. Men det er godt egnet til travle administratorer som trenger å raskt sette midlertidige passord.