Soru ASP.NET'te çerezlerin etkin olup olmadığını belirlemenin en iyi yolu?


Bir kullanıcı tarayıcısının ASP.NET'te çerezleri etkinleştirip etkinleştirmediğini belirlemek için en iyi yöntem nedir?


22
2017-10-16 21:07


Menşei




Cevaplar:


Bir çerez ayarlayın, bazı kontrol sayfalarına yönlendirmeyi zorlayın ve çerezi kontrol edin.

Ya da önceden ayarlanmamışsa, her pageload'a bir çerez koyun. Örneğin, bunun, çerezleri etkinleştirmek için giriş yapmaları gerektiğinde bir mesaj görüntülemek için çerezlerin desteklenip desteklenmediğini kontrol etmeyi kabul ediyorum. Giriş çerezinizi henüz kullanıcı ayarına sahip değilse, misafir kullanıcılar için varsayılan bir değere ayarlayın. Ardından giriş sayfanızda, kullanıcı çerezini kontrol edin ve ayarlanmadıysa mesajınızı görüntüleyin.


18
2017-10-16 21:13



Tam kod ile sağlayabilir misiniz? Yönlendirmeyi denedim. Bu sayfanın doğrudan yüklenmesi ile hiçbir farkı yoktur. Çerez devre dışı bırakılmış olsa bile çerez hala okunabilir. - Hoy Cheung


@Mattew, bir çerez ayarlamak, yönlendirmek, sonra kontrol etmektir bulmak için tek yoldur. Bunu, sayfa yükleme etkinliğinize ekleyebileceğinizi kontrol etmek için bir C # işlevi vardır:

private bool cookiesAreEnabled()
{
bool cookieEnabled = false;

if(Request.Browser.Cookies)
{
   //Your Browser supports cookies 
   if (Request.QueryString["TestingCookie"] == null)
   {
     //not testing the cookie so create it
     HttpCookie cookie = new HttpCookie("CookieTest","");
     Response.Cookies.Add(cookie);

     //redirect to same page because the cookie will be written to the client computer, 
     //only upon sending the response back from the server 
     Response.Redirect("Default.aspx?TestingCookie=1")
   }
   else
   {
     //let's check if Cookies are enabled
      if(Request.Cookies["CookieTest"] == null)
      {
        //Cookies are disabled
      }
      else
      {
        //Cookies are enabled
        cookieEnabled = true;
      }   
   }

}
else
{
  // Your Browser does not support cookies
}
return cookieEnabled;
}


Ayrıca javascript'te de yapabilirsiniz, bu şekilde:

function cookiesAreEnabled()
{   
    var cookieEnabled = (navigator.cookieEnabled) ? 1 : 0;  

    if (typeof navigator.cookieEnabled == "undefined" && cookieEnabled == 0){   
    document.cookie="testcookie";   
    cookieEnabled = (document.cookie.indexOf("test­cookie") != -1) ? 1 : 0; 
    }   

  return cookieEnabled == 1;
}

4
2017-11-03 15:08





Kurabiye yazabilir, bir çerez yazabilir, yönlendirebilirsiniz.


1
2017-10-16 21:11





Sanırım Global.ASAX oturumunda çerez kaydedebilir ve bunu sayfada okuyabilirsek .. bu en iyi yol değil mi?


1
2017-07-04 10:37





çizgiyi değiştirmek zorunda olmanıza rağmen meda c # işlevi çalışır:

HttpCookie cookie = yeni HttpCookie ("", "");

için

HttpCookie cookie = yeni HttpCookie ("CookieTest", "CookieTest");


0
2018-06-11 09:48





Esas olarak meda ile aynı çözüm, ancak VB.NET'te:

Private Function IsCookieDisabled() As Boolean
    Dim currentUrl As String = Request.RawUrl
    If Request.Browser.Cookies Then
        'Your Browser supports cookies 
        If Request.QueryString("cc") Is Nothing Then
            'not testing the cookie so create it
            Dim c As HttpCookie = New HttpCookie("SupportCookies", "true")
            Response.Cookies.Add(c)
            If currentUrl.IndexOf("?") > 0 Then
                currentUrl = currentUrl + "&cc=true"
            Else
                currentUrl = currentUrl + "?cc=true"
            End If
            Response.Redirect(currentUrl)
        Else
            'let's check if Cookies are enabled
            If Request.Cookies("SupportCookies") Is Nothing Then
                'Cookies are disabled
                Return True
            Else
                'Cookies are enabled
                Return False
            End If
        End If
    Else
        Return True
    End If
End Function

0
2017-09-09 18:16





Değerini de kontrol edebilirsiniz Request.Browser.Cookies. Doğruysa, tarayıcı çerezleri destekler.


-1
2018-02-04 20:03



Tarayıcıda Browser.Cookies doğrudur destekler Çerezler devre dışı bırakılmış olsa bile çerezler doğrudur: "Kullanıcı uygulamalarında çerezleri devre dışı bıraktıysa, Çerezler özelliği bundan etkilenmez." (msdn.microsoft.com/en-us/library/...) - mamoo


bu en iyi yol

dan alınan http://www.eggheadcafe.com/community/aspnet/7/42769/cookies-enabled-or-not-.aspx

function cc()
{
 /* check for a cookie */
  if (document.cookie == "") 
  {
    /* if a cookie is not found - alert user -
     change cookieexists field value to false */
    alert("COOKIES need to be enabled!");

    /* If the user has Cookies disabled an alert will let him know 
        that cookies need to be enabled to log on.*/ 

    document.Form1.cookieexists.value ="false"  
  } else {
   /* this sets the value to true and nothing else will happen,
       the user will be able to log on*/
    document.Form1.cookieexists.value ="true"
  }
}

Venkat K'ye teşekkürler


-3
2018-04-06 06:42