我 正在 开发 删除 会话 cookie 的 功能
下面 是 源 代码 :
<script language="javascript">
window.onload = function ()
{
/* $.cookie('!lithiumSSO:tomtom.stage', null);
$.cookie('LiSESSIONID', null);*/
delete_cookie('LiSESSIONID');
delete_cookie('!lithiumSSO:tomtom.stage');
};
function delete_cookie ( cookie_name )
{
var cookie_date = new Date ( ); // current date & time
cookie_date.setTime ( cookie_date.getTime() - 1 );
document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
alert('name:' +cookie_name);
jQuery.cookie('LiSESSIONID', null); //Try to using jQuery
}
</script>
中 的 每 一 个
我 可以 设置 一 个 弹出 窗口 显示 name:LiSESSIONID=; expires=Wed, 02 Feb 2011 10:56:52 GMT
。 这 是 一 个 小时 后 。 但是 , 当 我 使用 firecocookies , 我 看到 这个 cookie 仍然 存在 :
LiSESSIONID
7A10E3453B01DDFF934AC7AF71EAFEC3
forums.lithiumstage.tomtom.com
43 B
/
Session
HttpOnly
格式
有人 知道 为什么 我 不能 杀死 cookie 吗 ? jQuery 函数 状态 说 未 定义 , 即使 我 加载 了 函数 。
2条答案
按热度按时间vwoqyblh1#
原因是设置了HttpOnly标志。这意味着只有服务器端代码才能修改此Cookie。
请参阅:http://www.owasp.org/index.php/HTTPOnly
vsaztqbk2#
cookie必须在服务器端删除。我不知道你用的是什么语言,但如果是node + express,它会像这样:
HttpOnly使用起来很有趣,因为它很安全,并且可以防止从浏览器www.example.com对其进行更改https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#restrict_access_to_cookies
如果您想在浏览器中删除它,请在创建cookie时删除httpOnly(我不建议这样做)。