2009-08-25 21 views

Respuesta

16

De MSDN

Una forma de determinar si se aceptan cookies es por tratar de escribir una galleta y luego tratar de leerlo de nuevo. Si no puede leer la cookie que escribió, asume que las cookies están desactivadas en el navegador.

escritura:

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 

leyó entonces

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

caso de que el puesto de transferencia de datos por alguna razón (carga de la red) en más de un minuto, no va a funcionar. Tal vez poner un tiempo más largo. –

+1

haga un control para asegurarse de que las personas no usen su página de redirección para cosas malas, como redirigir al sitio web de pesca, etc. ... – Fredou

+0

parece imposible. Estaba tratando de evitar la escritura en sesión y la cookie si sé que la cookie funciona. Creo que necesito escribir ambos. –

1

Guarde un valor para las cookies, haga un redireccionamiento a alguna página e intente leer el valor nuevamente. Si funciona, las cookies están habilitadas. Si no, entonces no.

0
  1. crear uno
  2. Pruebe a verla?
Cuestiones relacionadas