Script login php-mysql con cookie
Un po’ di tempo fa avevo mostrato come creare un semplice sistema di login in php-msql sfruttando le sessioni.
Vediamo ora come fare la stessa cosa sfruttando i cookie.
In anzi tutto capiamo cosa sono i cookie:
Da wikiPedia:
I cookie HTTP (più comunemente denominati Web cookies, tracking cookies o semplicemente cookie) sono frammenti di testo inviati da un server ad un Web client (di solito un browser) e poi rimandati indietro dal client al server – senza subire modifiche – ogni volta che il client accede allo stesso server.
I cookie HTTP sono usati per eseguire autenticazioni e tracking di sessioni e memorizzare informazioni specifiche riguardanti gli utenti che accedono al server, come ad esempio i siti preferiti o, in caso di acquisti on-line, il contenuto dei loro “carrelli della spesa” (shopping cart). Il termine “cookie” – letteralmente “biscotto” – deriva da magic cookie, concetto ben noto in ambiente UNIX che ha ispirato sia l’idea che il nome dei cookie HTTP.
Dentro ai cookie, noi salveremo la nostra PASSWORD e il nostro USERNAME, per far si che il sistema di Login si ricordi la password e non ci faccia inserire nome utente e pasword ad ogni pagina protetta che visitiamo.
Iniziamo:
Nel nostro file php, dovremo fare in modo che se il login è esatto, salvi la password e il nome utente, dati in input nei cookie:
setcookie("login_name", "$nome_utente",TEMPO);
setcookie("login_pass", "$password",TEMPO);
Al posto del parametro TEMPO va inserito il valore in secondi della durata del cookie. es: time()+3600;
Oppure se vogliamo che il cookie si auto elimini alla chiusura del borwser inseriamo false.
Bene ora inseriamo la funzione di controllo login in tutte le pagine private:
< ?php
//controllo autentficazione
//return true se e' gia loggato
function control_login(){
//esistono i cookie
if (isset($_COOKIE['login_name']) && isset($_COOKIE['login_pass'])) {
//connessione al db
//password e nome utente presi dai cookie, filtrando esso ===> COOKIE
$nome_utente=htmlspecialchars($_COOKIE['login_name']);
$password=htmlspecialchars($_COOKIE['login_pass']);
//query al database
$query = "SELECT nome,password FROM utenti WHERE nome='$nome_utente' AND password='$password' ";
//risultato query
$result = mysql_query($query);
if(mysql_num_rows($result)>0)
return true;
}
}
?>
Cosa fa tale funzione ?
Controlla, prima di tutto se esistono i cookie:
if (isset($_COOKIE['login_name']) && isset($_COOKIE['login_pass'])) {
Poi se si, gli filtra:
$nome_utente=htmlspecialchars($_COOKIE['login_name']);
$password=htmlspecialchars($_COOKIE['login_pass']);
E infine, esegue la query al database per verificare che non siano stati modificati.
$query = "SELECT nome,password FROM utenti WHERE nome='$nome_utente' AND password='$password' ";
La funzione restituisce true se il nome utente e la password coincidono.
Related posts:
- [php/mysql] semplice script login con sessioni
- Auto Login su Windows Xp
- BugMeNot: Salta la fastidiosa registrazione da Forum/Siti/blog
- [guida]Creare Script php AUTOMATICO
This entry was posted on Saturday, July 11th, 2009 at 11:16 am and is filed under Programming. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Tagged with: mysql • php







Pingback: Script login php-mysql con cookie « ClsHack