首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js中不是基于cookie的会话管理

node.js中不是基于cookie的会话管理
EN

Stack Overflow用户
提问于 2013-05-06 14:01:19
回答 4查看 316关注 0票数 1

我正在寻找一个非node.js基于cookie的会话管理,类似于在网址中传递一个参数,如&session_id=。当请求带有session_id时,它将知道会话已过期。我看过connect库,但它看起来只基于cookie。

EN

回答 4

Stack Overflow用户

发布于 2013-05-06 15:20:30

警告

session id作为GET参数传递被认为是不好的做法。为什么?这是危险的,因为人们通常不关心session id,他们可能会在里面发布/共享带有他们的会话It的链接。

这也是一个问题,因为当用户点击你网站上的外部链接,并转到另一个网站时,新网站将能够在引用链接中看到session_id

所以我不认为这是一个好主意。Cookie更安全。

看看:Session Hijacking

票数 4
EN

Stack Overflow用户

发布于 2013-05-08 12:34:05

对于您收到的每个请求,您将相应地获取所有客户端cookie。您还可以使用“set -Cookie”在响应HTTP标头中设置客户端Cookie。

使用GET参数是不安全的。任何用户都可能意外地共享他们的会话ID,但如果您想要100%的安全性,我会通过cookie共享会话ID,并且我会使用HTTPS来防止窥探者窃取cookie。

票数 0
EN

Stack Overflow用户

发布于 2014-02-13 20:56:44

您可以使用localstoragesessionStorage

  • 几乎和cookie一样
  • not a cookie
  • 比cookie更好!

更多信息:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage

它非常-非常-容易使用...例如,在Js中:

代码语言:javascript
复制
<script>
    // check if Storage is avaible
  if(typeof(Storage)!=="undefined") {
    // Save data to local storage (no exiparion date)
    localStorage.setItem("name_always", "bxx");
    // Save data to the current session (removes when the tab is closed)
    sessionStorage.setItem("name_now", "bxx");
  } else {
    // No Storage support...
  }
  // Access to stored data
  alert( "For only now, my name is: " + sessionStorage.getItem("name_now"));
  alert( "Every day, my name is: " + localStorage.getItem("name_always"));
</script>

标签:javascript html5 local-storage session-storage

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16392804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档