2009-08-25 2 views

ответ

16

От MSDN

Один из способов, чтобы определить, будут ли приняты печенье является пытается написать печенье, а затем пытается прочитать его снова. Если вы не можете прочитать файл cookie, который вы написали, вы предполагаете, что файлы cookie отключены в браузере.

пишут:

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 

затем прочитать

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

Если передача данных стойло по какой-то причине (сетевой нагрузки) более чем на минуту, он не будет функционировать. Может быть, занять больше времени. – 2009-08-25 16:17:52

+1

сделайте чек, чтобы убедиться, что люди не используют вашу страницу перенаправления для плохой вещи, например, перенаправление на сайт для рыбалки и т. Д. – Fredou

+0

кажется его невозможным. Я пытался предотвратить запись в сеанс и cookie, если я знаю, что работает cookie. Наверное, мне нужно написать оба. – 2009-08-25 16:28:27

1

Сохраните значение для файлов cookie, сделайте перенаправление на какую-либо страницу и попробуйте прочитать значение обратно. Если он работает, файлы cookie включены. Если нет, то нет.

0
  1. создать один
  2. попытаться прочитать его?
Смежные вопросы