guardar - leer cookie javascript
¿Cómo configuro la marca HttpOnly de una cookie con javascript? (1)
Estoy tratando de crear una cookie, con la marca HttpOnly habilitada.
Si bien parece que hay una gran cantidad de recursos sobre cómo hacerlo en Java y .Net, necesito hacerlo en javascript.
Aquí está mi función (actualmente falla)
createCookie = function(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; domain=my.domain.com; path=/; HttpOnly;";
Gracias -
No puede acceder a una cookie HttpOnly en JavaScript.
La siguiente cita está tomada del material de Wikipedia :
La cookie HttpOnly es compatible con la mayoría de los navegadores modernos. En un navegador compatible, se utilizará una cookie de sesión HttpOnly solo cuando se transmitan solicitudes HTTP (o HTTPS), lo que restringirá el acceso desde otras API no HTTP (como JavaScript) .
En otras palabras, las cookies de HttpOnly están diseñadas para ser utilizadas únicamente en el lado del servidor.
Escribí un ejemplo en PHP:
<?php
$name = ''foo'';
$value = ''bar'';
$expirationTime = 0; // Session cookie.
$path = ''/'';
$domain = ''localhost'';
$isSecure = false;
$isHttpOnly = false;
setcookie($name, $value, $expirationTime, $path, $domain, $isSecure, $isHttpOnly);
?>
<script>
alert(document.cookie);
</script>
Avisa foo=bar
.
Elimine la cookie, cambie $isHttpOnly
a true
, vuelva a cargar la página y verá una alerta vacía. Pero al mismo tiempo, el navegador almacena la cookie para enviarla durante una solicitud al servidor.