Domanda

Che cos'è un modo elegante in ASP classico per verificare se i cookie di sessione sono abilitati nel browser di un utente utilizzando il codice lato server (perché anche javascript potrebbe essere disabilitato).

Ho una mia soluzione, ma sembra brutta da morire.

@James - che non distingue tra l'impostazione di un cookie di sessione e un cookie di uso generale (IE ti consente di distinguere tra First Party, Session Cookies e Third Party, ma vedo che con Firefox distinguono solo tra First Party e Third Festa)? Sto impostando un valore di sessione in una pagina di accesso, quindi sto facendo una cosa Response.Redirect e verificando se il valore di sessione è ancora valido.

È stato utile?

Soluzione

A meno che non specifichi una scadenza sul cookie sarà un cookie di sessione. Il termine sessione è un po 'sovraccarico in HTTP. Quando la finestra di dialogo di IE fa riferimento a un cookie di sessione, significa che tutti i cookie sono memorizzati solo nella memoria del processo e non persistono sul disco, quindi rimangono attivi solo per la durata del processo (la sessione). Avvia un altro processo IExplore.exe e avrai un'altra sessione che non avrà i valori di alcun cookie di sessione precedente o esistente.

Hai ragione, tuttavia, che puoi verificare se anche i cookie a livello di sessione vengono bloccati semplicemente memorizzando un valore nell'oggetto sessione e verificando la sua presenza su un reindirizzamento.

Altri suggerimenti

Beh, il "brutto come l'inferno" metodo che abbiamo usato, era impostare un cookie e reindirizzare a una nuova pagina. Nel codice per la nuova pagina, controlla se il cookie è stato impostato. Poiché l'unico modo per raggiungere la seconda pagina è reindirizzare lì quando il cookie è impostato, la sua presenza o assenza dovrebbe indicare lo stato del browser.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top