如何删除会话cookie

4
我们试图使用以下代码在按下“注销”按钮时清除浏览器中的cookie详细信息,但脚本无法从浏览器中删除会话cookie。但是,在IE8浏览器中使用开发者工具(工具>开发人员工具>缓存>清除会话cookie)清除会话cookie,即可清除cookie。请注意,保留HTML标记。
<html:link page="/home.do" onclick="logout();">
    <html:img  page="/images/logout.jpg"/>
</html:link>

function logout(){
var cookies = document.cookie.split(";");     
for (var i = 0; i < cookies.length; i++)     {   
  var cookiename =  cookies[i].split("=");       
  var d = new Date();         
  d.setDate(d.getDate() - 4);   
  var expires = ";expires="+d;       
  var value="";       
  document.cookie = cookiename + "=" + value + expires + ";";     
  }
}

如何使用脚本清除浏览器中的会话Cookie?

为什么你想要删除cookie?调用session.invalidate()就足够了,因为cookie会在浏览器退出时自动删除。 - f_puras
3个回答

3

如果 Cookie 设置了 HttpOnly 属性,那么客户端无法删除它,只能从服务器端进行修改。


0

来自JavaScript:未指定过期字段,同时将值设置为null,如果还是仅限主机,则不指定域


-1
如果您想要清除一个“session”变量...
unset( $_SESSION['YOUR_SESSION_VARIABLE_NAME'] );

这将完全删除此会话变量。标题有误导性。他展示的代码不是“会话”cookie,而是常规cookie。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接