July 11
PHP è utilizzato ampiamente in tutto il Web per fornire siti web dinamici e di autenticare le informazioni di accesso. Uno script PHP buona nasconde i dati in modo che non possa essere decifrato da potenziali hacker. La password non deve mai essere visibile e idealmente dovrebbe avere una qualche forma di crittografia per proteggere le informazioni da occhi indiscreti. PHP fornisce diversi modi per proteggere i dati delle password, mentre allo stesso tempo fornire la possibilità di automatizzare il processo di login.
1 Confermare come la password si accede nel codice PHP esistente. Se le informazioni con il nome utente e password completo è visibile nel codice di programmazione in testo, rimuoverlo immediatamente. Chiunque abbia accesso al codice PHP potrebbe utilizzare le informazioni per accedere altrimenti.
2 Creare un file di accesso separato contenente le informazioni di accesso per lo script password come segue:
<? Php
$ Host = "<nome host>";
$ User = "<utente>";
$ Passwd = "";
$ Dbname = "<dbname>";
?>
Compilare i campi identificati da "<>" come richiesto. Si noti la parte password viene volutamente lasciata in bianco per aggiungere un ulteriore livello di sicurezza.
3 Includere il nuovo script di accesso nel codice principale, rendendo in un file di inclusione. Ad esempio, se lo script di accesso al punto 2 si chiama "login.inc," includere nel codice PHP principale come segue:
<? Php
include("login.inc");
?>
4 Impostare la variabile password "$ passwd" estraendolo da una tabella di MySQL. Idealmente, questo viene crittografato prima di essere inserito nella tabella utilizzando una funzione di crittografia appropriata. Una tale funzione è "MD5", che è parte della libreria standard di PHP:
$ Passwd = md5 ($ _ POST [ 'passwd']);
$ Sql = "INSERT INTO valori usertable ( '$ utente', '$ UserPass')";
$ Risultato = mysql_query ($ sql);
Per estrarre la password, questo sarebbe codificato come:
$ Passwd = md5 ($ _ POST [ 'passwd']);
$ Sql = "select * from usertable dove username = '$ user' e la password = '$ passwd'";
$ Risultato = mysql_query ($ sql);