PDA

View Full Version : asp e cookies


SteR9
28-09-2003, 20:14
ragazzi ho la necessità di utilizzare i cookies,ho scritto il cookie tramite l'oggetto response.cookies però quando chiudo il browser il cookie si cancella...non esiste un modo per evitare che accada??

matpez
29-09-2003, 00:32
Questo è molto strano sai, il cookies è nato aposta per tenere le infonrmazioni anche a connessione spenta, quello che hai detto tu sembrava molto quello che capita alla session.

Potrebbe essere che hai impostato qlc opzioni del tuo browser e alla chiusura cancella tutte le informazioni.

Potresti provare anche con response.cookies(Nome).expires=DateSerial (2010,12,31) dove imposti la data di scadeza e fino a quella data non viene eliminato.

cionci
29-09-2003, 07:55
Eh....infatti...credo che il problema sia con l'expires...
Altra cosa...prova ad inviare il cookies prima di qualsiasi output HTML (guarda di non lasciare nemmeno una riga vuota in alto alla pagina ASP)...

SteR9
29-09-2003, 14:33
ho creato il form nella quale inserisco la pass e l'usrname di login
poi faccio il controllo nel dbase se esistono usrname e pass e se esistono scrivo questo cookies
response.cookies("mio_cookie")("conferma")= "loggato"

poi nella pagina dove l'accesso è possibile solo agli utenti registrati ho messo un if che controlla se nella chiave conferma non c'è scritto loggato lo rimando alla pagina di login...se invece c'è faccio visualizzare la pagina...e questo funziona se non chiudo la pagina...se la chiudo non va...

cosa può essere??ora provo a controllare l'expires

SteR9
29-09-2003, 14:37
ok con l'expires funziona..grazie!
ah!una cosa...ma con l'expires posso anche mettere anche un determinato orario di scadenza del cookie??

cionci
29-09-2003, 14:58
Certo, ti puoi calcolare la data a partire da oggi e farlo valere per una settimana ad esempi... In questo modo se l'utnente non si connette per una settimana il cookie scade...

SteR9
29-09-2003, 15:29
Originariamente inviato da cionci
Certo, ti puoi calcolare la data a partire da oggi e farlo valere per una settimana ad esempi... In questo modo se l'utnente non si connette per una settimana il cookie scade...
io vorrei farlo scadere dopo 20 minuti...non si può?

cionci
29-09-2003, 15:40
Originariamente inviato da SteR9
io vorrei farlo scadere dopo 20 minuti...non si può?
Per farlo scadere dopo venti minuti ti conviene usare le sessioni ;)

SteR9
29-09-2003, 18:13
Originariamente inviato da cionci
Per farlo scadere dopo venti minuti ti conviene usare le sessioni ;)
cioè?mi conviene utilizzare una variabile di sessione anzichè un cookie??

cionci
29-09-2003, 18:30
Sì... Per fare il controllo che un utente sia loggato è l'ideale (senza contare che con i cookie sarebbe possibile "fregare" il sistema)...

SteR9
29-09-2003, 19:25
Originariamente inviato da cionci
Sì... Per fare il controllo che un utente sia loggato è l'ideale (senza contare che con i cookie sarebbe possibile "fregare" il sistema)...
infatti di solito usavo sempre le var di sessione però sto scrivendo un forum quindi ho la necessita di usare i cookies per poter tenere attivo l'utente senza che si logghi ogni volta...

matpez
30-09-2003, 02:37
Originariamente inviato da SteR9
ok con l'expires funziona..grazie!
ah!una cosa...ma con l'expires posso anche mettere anche un determinato orario di scadenza del cookie??

Dopo che hai scritto dentro al cookies gli dai il comando:

response.cookies("Nome").expires=DateSerial (Anno,Mese,Giorno)

cionci
30-09-2003, 10:37
Originariamente inviato da SteR9
infatti di solito usavo sempre le var di sessione però sto scrivendo un forum quindi ho la necessita di usare i cookies per poter tenere attivo l'utente senza che si logghi ogni volta...
Allora la scadenza è più di 20 minuti ;)

Semplice...usa sia il cookie che le var di sessione !!!

Il cookie serve per evitare che si logghi ogni volta...una cosa del genere:

if server.session("Loggato") <> 1 then
'Usa request.cookie("auth")("user") e request.cookie("auth")("pass")
'per loggare l'utente
'Se non sono definiti allora presenta la apgina per il login
'Una volta loggato:
server.session("Loggato") = 1
End If

Sarebbe interessante invece di mettere la password in chiaro nei cookies metterci un fingerprints della password...un MD5 o uno SHA1...