Come cambiare una password utilizzando script PHP

April 27

Per modificare automaticamente con PHP password di un utente, usare "si aspetta", una utility Unix progettato per rendere più facile automatizzare programmi da linea di comando come l'utilità "passwd" utilizzato per modificare le password. Fortunatamente, PHP è dotato di un'interfaccia integrata al comando "aspettarsi". Questo vi permetterà di avviare il programma di utilità "passwd" e scrivere al suo ingresso direttamente proprio come se si stesse scrivendo su un file.

istruzione

1 Aprite il vostro editor di testo preferito.

2 Incollare i tag PHP:

<? Php

?>

Tutto il codice per il resto del tutorial andrà tra queste due linee.

3 Incollare il seguente per avviare il programma di utilità "passwd" e collegare la sua interfaccia a un handle di file:

$ Passwd_handle = expect_popen ( "passwd");

4 Incollare il seguente per dare "passwd" un po 'di tempo per l'avvio:

dormire (1)

5 Incollare il seguente di scrivere al programma passwd:

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

Dal momento che il programma passwd, se eseguito manualmente, chiede prima per la vecchia password dell'utente corrente, la vecchia password deve essere la prima cosa scritta a $ passwd_handle dallo script. Naturalmente, "oldpass" dovrebbe essere modificato in modo da riflettere la vera vecchia password. Deve essere seguito dal comando "\ n", che rappresenta il tasto "Enter".

6 Incollare il seguente di scrivere la nuova password:

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

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

Lo script sta scrivendo i dati per le istruzioni fornite dal "passwd" esattamente come un utente sarebbe se si esegue il programma manualmente. Dal momento che passwd chiede la stessa password per essere somministrato due volte, è necessario che lo script PHP scrivere la nuova password due volte per il programma.

7 Chiudere la connessione al comando passwd:

fclose ($ passwd_handle);

Consigli e avvertenze

  • Siate cauti di come questo viene utilizzato: Qualsiasi password memorizzate nel testo stesso dello script sono in chiaro e visibile a qualsiasi utente che ha accesso in lettura al file di script. Ma è particolarmente adatto per gli amministratori di occupati che hanno bisogno di impostare rapidamente le password temporanee.