Cuál es el mejor método para determinar si el navegador de un usuario tiene habilitadas las cookies en ASP.NET¿La mejor manera de determinar si las cookies están habilitadas en ASP.NET?
Respuesta
Establezca una cookie, fuerce un redireccionamiento a alguna página de comprobación y verifique la cookie.
O establezca una cookie en cada carga de página, si no está configurada. Por ejemplo, supongo que esto es para comprobar si las cookies son compatibles para mostrar un mensaje cuando intentan iniciar sesión que necesitan para habilitar las cookies. Establezca su cookie de inicio de sesión a algún valor predeterminado para los usuarios invitados si aún no tienen el conjunto de cookies. Luego, en su página de inicio de sesión, verifique la cookie del usuario y, si no está configurada, muestre su mensaje.
Escriba una cookie, redirija, vea si puede leer la cookie.
Bueno, creo que si podemos guardar las cookies en la sesión de Global.ASAX, inicie y lea eso en la página ... ¿no es esa la mejor manera?
esta es la mejor manera
tomado de 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"
}
}
gracias a Venkat K
También puede comprobar el valor de Request.Browser.Cookies
. Si es verdadero, el navegador admite cookies.
Browser.Cookies es verdadero si el navegador * admite * cookies, por lo que es cierto incluso si las cookies están deshabilitadas: "Si el usuario ha deshabilitado las cookies en su aplicación, la propiedad Cookies no se verá afectada". (http://msdn.microsoft.com/en-us/library/system.web.configuration.httpcapabilitiesbase.cookies(v=VS.90).aspx) – mamoo
@Mattew tiene razón, la única forma de averiguarlo es establecer una cookie, redirigirla y luego verificarla. Aquí es un C# función de preforma que comprueba que usted puede poner esto en su evento de carga de página:
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;
}
Puede hacerlo en javascript también, de esta manera: la función
function cookiesAreEnabled()
{
var cookieEnabled = (navigator.cookieEnabled) ? 1 : 0;
if (typeof navigator.cookieEnabled == "undefined" && cookieEnabled == 0){
document.cookie="testcookie";
cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? 1 : 0;
}
return cookieEnabled == 1;
}
de meda C# funciona aunque tiene que cambiar la línea:
HttpCookie cookie = new HttpCookie ("", "");
a
galleta HttpCookie = new HttpCookie ("CookieTest", "CookieTest");
Esencialmente la misma solución que meda, pero en VB.NET:
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
- 1. ¿Qué sucede si las cookies están deshabilitadas?
- 2. ¿Por qué aparece jsessionid en Wicket URL cuando las cookies están habilitadas?
- 3. ¿Cómo verificar si el navegador tiene habilitadas las cookies en la aplicación web?
- 4. ¿Está usando el plugin jQuery Cookie una forma válida de probar para ver si las cookies están habilitadas?
- 5. Cómo comprobar si las cookies están vacías o no
- 6. NHibernate con Firebird ... ¿están habilitadas estas características?
- 7. ¿Cómo puedo saber si animaciones de ventanas están habilitadas en la configuración
- 8. La mejor manera de determinar la cantidad de servidores necesarios
- 9. Cómo determinar si las pruebas PHPUnit se están ejecutando?
- 10. Si las optimizaciones están habilitadas, ¿el JIT siempre alineará este método?
- 11. cómo eliminar las cookies en asp.net
- 12. Determinar si la página es válida en JavaScript - ASP.NET
- 13. La mejor manera de determinar si una secuencia se encuentra en otra secuencia en Python
- 14. La mejor manera de determinar si existe un atributo XML en Flex
- 15. Verificar si el navegador acepta cookies
- 16. ¿La mejor manera de determinar si un nombre de dominio sería válido en un archivo "hosts"?
- 17. Cuál es la mejor manera de determinar si una ventana es realmente visible en WPF
- 18. La mejor manera de permitir las cookies de sesión de subdominio con Tomcat
- 19. Mejor manera de determinar si el valor existe en el feed JSON
- 20. ¿Cuál es la mejor manera de determinar si una fecha es hoy en JavaScript?
- 21. ¿Cuál es la mejor manera de determinar si existe una tabla temporal en SQL Server?
- 22. LinqDataSource no admite la propiedad Seleccionar cuando las operaciones Eliminar, Insertar o Actualizar están habilitadas
- 23. ¿Cuál es la mejor manera de determinar si una página web es para dispositivos móviles?
- 24. eliminar manualmente las cookies de autenticación asp.net
- 25. ¿Qué podría causar problemas en las cookies de FormsAuthentication de ASP.NET aparte de las cookies desactivadas?
- 26. La mejor manera de no hacer nada hasta que las cosas están conectadas en C#
- 27. La mejor manera de transmitir archivos en ASP.NET
- 28. ¿Cuál es la mejor manera de determinar si un escalar contiene un identificador de archivo?
- 29. Las cookies no están siendo colocado correctamente en Script PHP
- 30. ¿La mejor manera de determinar si un UIViewController se ha cargado y tiene una vista válida?
puede proporcionarle el código exacto? He intentado redireccionar. No tiene ninguna diferencia cargar la página directamente. La cookie aún se puede leer aunque la cookie esté desactivada. –