Come posso verificare/rilevare se l'utente accetta o meno i cookie? Utilizzo di ASP.NET (C#)Come posso testare automaticamente i cookie?
9
A
risposta
16
Da MSDN
Un modo per determinare se i cookie sono accettati è di cercare di scrivere un cookie e quindi cercando di leggere di nuovo. Se non riesci a leggere il cookie che hai scritto, presumi che i cookie siano disattivati nel browser.
scrittura:
Sub Page_Load()
If Not Page.IsPostBack Then
If Request.QueryString("AcceptsCookies") Is Nothing Then
Response.Cookies("TestCookie").Value = "ok"
Response.Cookies("TestCookie").Expires = _
DateTime.Now.AddMinutes(1)
Response.Redirect("TestForCookies.aspx?redirect=" & _
Server.UrlEncode(Request.Url.ToString))
Else
labelAcceptsCookies.Text = "Accept cookies = " & _
Request.QueryString("AcceptsCookies")
End If
End If
End Sub
poi leggere
Sub Page_Load()
Dim redirect As String = Request.QueryString("redirect")
Dim acceptsCookies As String
' Was the cookie accepted?
If Request.Cookies("TestCookie") Is Nothing Then
' No cookie, so it must not have been accepted
acceptsCookies = 0
Else
acceptsCookies = 1
' Delete test cookie
Response.Cookies("TestCookie").Expires = _
DateTime.Now.AddDays(-1)
End If
Response.Redirect(redirect & "?AcceptsCookies=" & acceptsCookies, _
True)
End Sub
1
Salvare un valore nei cookie, effettuare un reindirizzamento ad alcune pagine e provare a leggere il valore indietro. Se funziona, i cookie sono abilitati. Se no, allora no.
0
- crearne uno
- provare a leggerlo?
Qualora la stalla trasferimento dei dati per qualche motivo (carico di rete) da più di un minuto, non funzionerà. Forse mettere un tempo più lungo. –
fai un controllo per assicurarti che le persone non usino la tua pagina di reindirizzamento per cose cattive, come il reindirizzamento al sito web di pesca ecc ... – Fredou
sembra impossibile. Stavo cercando di impedire la scrittura in sessione e i cookie se so che il cookie funziona. Credo di aver bisogno di scrivere entrambi. –