Per modificare la password di un utente automaticamente con PHP, utilizzare "aspettarsi", una utility Unix progettata per rendere più facile per automatizzare programmi a riga di comando come l'utilità di "passwd" utilizzato per modificare le password. Per fortuna, PHP viene fornito con un built-in interfaccia per il comando di "Expect". Questo vi permetterà di avviare l'utility "passwd" e scrivere al suo ingresso direttamente proprio come se si scrivesse in un file.
Istruzioni
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 righe.
3
Incollare il seguente per avviare l'utilità di "passwd" e la sua interfaccia di collegamento a un handle di file:
$passwd_handle = expect_popen("passwd");
4
Incollare il seguente per dare "passwd" un po' di tempo per l'avvio:
sonno (1)
5
Incollare il seguente per scrivere il programma passwd:
fwrite ($passwd_handle, "oldpass\n");
Dal momento che il programma passwd, se esegui manualmente, chiede in primo luogo per la vecchia password dell'utente corrente, la vecchia password deve essere la prima cosa scritta $passwd_handle da script. Naturalmente, "oldpass" deve essere modificato per riflettere la vera vecchia password. Deve essere seguita dal comando "\n", che rappresenta il tasto "Enter".
6
Incollare il seguente per scrivere la nuova password:
fwrite ($passwd_handle, "newpass\n");
fwrite ($passwd_handle, "newpass\n");
Lo script è scrittura di dati le istruzioni date da "passwd", esattamente come farebbe un utente se esegue il programma manualmente. Poiché passwd chiede essere dato due volte la stessa password, è necessario che lo script PHP scrivere la nuova password due volte per il programma.
7
Chiudere la connessione per il comando passwd:
fclose($passwd_handle);
Consigli & Avvertenze
- Essere cauti con l'utilizzo di questo: qualsiasi password memorizzate nel testo attuale dello script sono visibili a qualsiasi utente che abbia accesso in lettura al file di script e non crittografati. Ma è anche adatto agli amministratori impegnati che hanno bisogno di impostare rapidamente le password provvisorie.