Pagina 1 di 1
[PHP] Leggere il contenuto di un cookie
Inviato: martedì 26 febbraio 2008, 12:11
da ggk85
Raga...ho bisogno di aiuto urgente ed immediato!
ho bisogno di leggere il contenuto di un cookie.
Attenzione...non devo leggere solo il valore del cookie...ma anche tutte le altre impostazioni, sarebbe a dire il valore di $expire, $path, $domain, $secure ed $HTTPOnly.
Qualcuno ha un idea su come fare?
Re: [PHP] Leggere il contenuto di un cookie
Inviato: mercoledì 27 febbraio 2008, 10:52
da difesaparcosempione
Re: [PHP] Leggere il contenuto di un cookie
Inviato: mercoledì 27 febbraio 2008, 11:39
da ggk85
Si...ma a me non interessa leggere solo il valore del cookie! Io vorrei anche sapere quel cookie quando scade, quali sono il path e il dominio di validità...ecc ecc...
Re: [PHP] Leggere il contenuto di un cookie
Inviato: mercoledì 27 febbraio 2008, 11:59
da difesaparcosempione
Re: [PHP] Leggere il contenuto di un cookie
Inviato: mercoledì 27 febbraio 2008, 12:09
da ggk85
Comunque legge solo il valore...vedi?
Ho fatto copia/incolla del codice...il cookie c'é...la scadenza é posticipata di 1 ora rispetto all'orario locale ma cmq non lo legge! Restituisce solo la coppia nome->valore... ::)

Re: [PHP] Leggere il contenuto di un cookie
Inviato: mercoledì 27 febbraio 2008, 13:39
da daemon_nio
Ho trovato questo:
http://www.webmasterworld.com/forum88/12148.htm
Dice che il PHP non lo permette ma insegna un trucco per fare una cosa simile.
Re: [PHP] Leggere il contenuto di un cookie
Inviato: mercoledì 27 febbraio 2008, 15:18
da ggk85
In pratica per sapere i valori di $expire, $path, $domain, $secure e $HttpOnly dovrei settare altrettanti cookie che mantengano questi valori...non mi sembra un gran trucco! E comunque il problema resta...se non avessi settato io il cookie che voglio leggere? Comicnio a pensare sul serio che la cosa non sia fattibile!
Re: [PHP] Leggere il contenuto di un cookie
Inviato: mercoledì 27 febbraio 2008, 16:42
da daemon_nio
mmm devi essere per forza tu ad aver settato il cookie

(o almeno un tuo collega).
Altrimenti può servirti leggere il cookie client-side, ad esempio con javascript.
Comunque anche a me sembra strano non poter leggere questi valori. In fondo linguaggi come ASP e JSP danno questa possibilità... perché il PHP dovrebbe essere limitato? prova a continuare a cercare sul web... se tutti rispondono come quel forum che ti ho mostrato allora può darsi sia realmente così ::)
Re: [PHP] Leggere il contenuto di un cookie
Inviato: mercoledì 27 febbraio 2008, 18:16
da difesaparcosempione
Codice: Seleziona tutto
if (isset ($HTTP_COOKIE_VARS) )
{ while (list ($nome, $valore) = each ( $HTTP_COOKIE_VARS ) )
{ echo "$nome = $valore\n";
}
}
Quindi, per tutte le informazioni inserite nel cookie, verrà visualizzata una coppia "nome = valore": ovviamente,
il valore è il valore che voi avete impostato nel cookie, i "nome" sono: cookie, expires, path, domain e secure
(quest'ultimo è particolare, visto che se impostato su 1 fa apparire "secure" nel cookie, altrimenti non fa apparire
alcunchè).
Per il nostro cookie di esempio, leggeremo qualcosa del genere:
[b]cookie[/b]=Test; [b]epires[/b]=Thursday, [b]expires[/b]=Monday, 31-Jul-00 11:50:00 GMT; [b]path[/b]=/nomeutente; [b]domain[/b]=.dominio.com
Qui faceva vedere non solo il
nome ?
ciao

Re: [PHP] Leggere il contenuto di un cookie
Inviato: giovedì 28 febbraio 2008, 10:06
da ggk85
Altrimenti devo ricorrere a qualche furbata...
ad esempio potrei settare un cookie "multiplo", cioè inserire all'interno del campo valore la stringa formata da:
Codice: Seleziona tutto
$value.='&'.$expire.'&'.$path.'&'.$domain.'&'.$secure.'&'.$HttpOnly
e poi quando vado a leggere il cookie uso :
Ma resta sempre il fatto che devo essere stato io a settare il cookie!
Re: [PHP] Leggere il contenuto di un cookie
Inviato: giovedì 28 febbraio 2008, 10:07
da ggk85
difesaparcosempione ha scritto:
Codice: Seleziona tutto
if (isset ($HTTP_COOKIE_VARS) )
{ while (list ($nome, $valore) = each ( $HTTP_COOKIE_VARS ) )
{ echo "$nome = $valore\n";
}
}
Quindi, per tutte le informazioni inserite nel cookie, verrà visualizzata una coppia "nome = valore": ovviamente,
il valore è il valore che voi avete impostato nel cookie, i "nome" sono: cookie, expires, path, domain e secure
(quest'ultimo è particolare, visto che se impostato su 1 fa apparire "secure" nel cookie, altrimenti non fa apparire
alcunchè).
Per il nostro cookie di esempio, leggeremo qualcosa del genere:
[b]cookie[/b]=Test; [b]epires[/b]=Thursday, [b]expires[/b]=Monday, 31-Jul-00 11:50:00 GMT; [b]path[/b]=/nomeutente; [b]domain[/b]=.dominio.com
Qui faceva vedere non solo il
nome ?
ciao
L'ho provato questo script...da sempre e solo la coppia nome->valore!
Re: [PHP] Leggere il contenuto di un cookie
Inviato: giovedì 28 febbraio 2008, 15:13
da daemon_nio
sì le ho provate tutte:
Codice: Seleziona tutto
<?php
session_start();
var_dump($HTTP_COOKIE_VARS);
?>
La risposta è sempre la stessa:
Codice: Seleziona tutto
array(1) { ["PHPSESSID"]=> string(32) "3d5fd4f58aab3fa2d09e2ea64dba06e8" }
Sembra che il php recuperi solo il valore del cookie. Forse perché lo recupera da un header di una request, quindi l'header è fatto così:
Quindi se è così è impossibile recuperare il valore di scadenza semplicemente perché il php non lo conosce!
Re: [PHP] Leggere il contenuto di un cookie
Inviato: giovedì 28 febbraio 2008, 17:27
da difesaparcosempione
Potresti postarmi il contenuto della variabile HTTP_COOKIE_VARS ?
E' una variabile che tra l'altro è anche nel environment del utente o solo del apache/o chi per lui?
ciao

Re: [PHP] Leggere il contenuto di un cookie
Inviato: giovedì 28 febbraio 2008, 20:25
da daemon_nio
allora... io ho provato a fare così:
Questo è il codice della pagina
Codice: Seleziona tutto
<?php
session_start();
setcookie('nome','valore',time()+3600);
var_dump($HTTP_COOKIE_VARS);
?>
Ad una prima richiesta visualizzo questo:
ad una seconda questo:
Codice: Seleziona tutto
array(2) { ["PHPSESSID"]=> string(32) "3d5fd4f58aab3fa2d09e2ea64dba06e8" ["nome"]=> string(6) "valore" }
Quindi credo la mia ipotesi sia giusta... php vede solo i cookie presenti nel protocollo HTTP, non può conoscere le date di scadenza.
Io scappo, a dopo!
Re: [PHP] Leggere il contenuto di un cookie
Inviato: giovedì 28 febbraio 2008, 20:40
da marko782
Se non ne puoi proprio fare a meno...
Io userei questa classe
http://xajaxproject.org/
Ti leggi il cookie con js e attraverso ajax invii i dati a php, non mi è venuto in mente altro
ciao!
Re: [PHP] Leggere il contenuto di un cookie
Inviato: sabato 1 marzo 2008, 9:14
da ggk85
Raga...grazie per i tanti suggerimenti! Devo valutare bene perché in pratica sto lavorando ad una classe...quindi alla fine dovrò comunque leggere solo i cookie che verranno settati dalle istanze di questa classe...credo che farò come ho già detto...concatenerò i valori all'interno del cookie e poi quando lo leggerò userò explode()... (good)