HTML.IT|    CORSI IN AULA| ACCESSO FREE| CD-ROM| LIBRI| WEBTOOL       DOWNLOAD| FORUM| MLIST| NEWSLETTER.IT
 BASIC| PRO    ADSL| ASP| B2B| CREA| FLASH-MX| FONT| GIF| HOSTING| LINUX| NEWS| PROGRAMMAZIONE| SICUREZZA









9Net

Link

HOSTING Linux Professionale

Serverplan 20mb + Php + Mysql 24€/anno

Hosting Php+MySQL su Windows e Linux

Protezione firewall
AntiVirus AntiSpam

seeyes: hosting - housing - VPS

Server Dedicato Linux €49/mese PLESK 30 domini

Dominio gratuito + spazio web illimitato





    Stampa Stampa questo articolo  Invia Invia l'articolo ad un amico

Articoli: Lista categorie | Php

Tutto sui cookie
Giudizio dell'articolo

a cura di Fabio Sutto
scritto mercoledì 16 ottobre 2002


Prelevare i valori salvati

Se nel file di configurazione di Php l'opzione register_globals è settata su "On" i valori inseriti si possono reperire facilmente attraverso il nome del cookie stesso, tuttavia per le ben note ragioni di sicurezza questa opzione è ora deprecata ed è consigliabile utilizzare l'array associativo $HTTP_COOKIE_VARS oppure $_COOKIE (quest'ultimo introdotto a partire dalla versione 4.1 di Php).

Esempio

<?php

/***
Se non esiste alcun cookie
***/
if(empty($HTTP_COOKIE_VARS)){

$message="Visita freephp.html.it!" ;

/***
Invia un cookie temporaneo
***/
setcookie("adv",$message) ;

/***
Refresh della pagina per poter leggere i dati appena inviati
***/
header("Location: ".$_SERVER["PHP_SELF"]) ;

}

/***
Se il cookie esiste e register_globals= On
***/
elseif(isset($adv)){

echo($adv) ;

}

/***
Se esiste l'array $_COOKIE (php >= 4.1) e se l'array non è vuoto (cioè se il cookie è stato inviato con successo)
***/
elseif (isset($_COOKIE)&& !empty($_COOKIE)){

echo($_COOKIE["adv"]) ;

}

/***
Se nessuna delle ipotesi precedenti si avvera ricorriamo all'array $HTTP_COOKIE_VARS
***/
else{

echo($HTTP_COOKIE_VARS["adv"]) ;

}


?>


Le poche righe di codice appena esaminate impostano il cookie "adv" se questo già non esiste, altrimenti tentano di leggerlo fornendoci diversi esempi su come rendere disponibile all'interno dello script il valore memorizzato.
In questo caso, svolgendosi all'interno della stessa pagina sia l'invio che il recupero, dopo la chiamata di setcookie() diventa necessario effettuare un refresh.
Sfortunatamente un cookie non è immediatamente leggibile durante la stessa elaborazione che lo ha creato.

L'esempio tuttavia presenta un grosso difetto poichè genererebbe un loop infinito qualora il client rifiutasse i cookie e, se così fosse, tutti i tentativi di invio fallirebbero senza neppure permetterci di intercettare un messaggio di errore.

[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14  ]


 
Ritieni questo articolo:





Apache 
Php