javascript - saltarse - no soy un robot para que sirve
Compruebe si existe la cookie httponly en Javascript (2)
Como dice la pregunta, ¿puedes averiguar si existe una cookie dentro de Javascript si es un HttpOnly? No necesito acceder a la información que contiene, solo sé que tiene uno.
Un poco más de información sobre la situación es que originalmente había un servidor web que usaba una cookie como un token de autenticación, y estaba configurado en httponly porque no lo usaba el cliente, por lo que se agregó a la seguridad.
Sin embargo, ahora se necesita un cambio en el que el cliente necesite saber si tiene la cookie (ya que el sitio puede funcionar sin que el usuario inicie sesión, pero si está conectado (la cookie de autenticación existiría) el sitio necesita mostrar cierta información cosas y esconder otros.
Existen otras precauciones de seguridad en el servidor web, por lo que no es perjudicial que el cliente tenga una cookie de autenticación incorrecta, pero el sitio hace que parezca que está conectado, ya que eliminaría la cookie y rechazaría al usuario. .
No. Y mira los comentarios de Rob a continuación.
Vea esto, que probablemente ya haya visto - http://en.wikipedia.org/wiki/HTTP_cookie#Secure_and_HttpOnly
No se puede acceder a una cookie HttpOnly a través de métodos que no sean HTTP, como llamadas a través de JavaScript (por ejemplo, haciendo referencia a "document.cookie") ...
Editar: eliminé la respuesta undefined
, escribí un script que puede que no estés usando :)
Puede verificar indirectamente para ver si existe tratando de establecerlo en un valor con javascript si no se puede establecer, entonces la cookie HTTP Only debe estar allí (o el usuario está bloqueando las cookies).
function doesHttpOnlyCookieExist(cookiename) {
var d = new Date();
d.setTime(d.getTime() + (1000));
var expires = "expires=" + d.toUTCString();
document.cookie = cookiename + "=new_value;path=/;" + expires;
if (document.cookie.indexOf(cookiename + ''='') == -1) {
return true;
} else {
return false;
}
}