快速会话安全:true

2023-11-24

app.use(session({
    secret: "testing credentials",
    store: sessionStore,
    resave: true,
    saveUninitialized: true,
    cookie  : {
        httpOnly: true,
        //secure: true,
        maxAge  : 60 * 60 * 1000 
    }
}));

我正在解决我新开发的网站上的一些安全问题。经过网上研究,如果设置secure=true,那么会更安全。然而, 如果设置 secure: true,那么每次用户发送另一个请求时,会话中的信息都会丢失。有办法解决这个问题吗?如果 cookie: 中不包含“secure: true”,则会话将持续该 maxAge。


如果 cookie 设置为secure标志,它只会由浏览器通过 https 发送到服务器,而不是纯 http。这应该是生产环境的默认设置。

但是,在开发应用程序时,您可能在开发计算机上使用纯 http。如果您将会话 cookie 设置为secure在这种情况下(使用纯 http),服务器将永远不会收到它,并且您将在每个请求上遇到一个新的空会话。

简而言之,您应该只将 cookie 设置为secure如果您使用 https(即,在开发管道的后期阶段,并且绝对是在生产中)。

另一方面,如果您设置maxAge,cookie 将被持久化,这不是会话 cookie 的最佳实践。没有maxAge,cookie 将保留到用户关闭浏览器为止,并且通常不会持久保存到磁盘,这是会话 cookie 的正确行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速会话安全:true 的相关文章

随机推荐

  • 您如何分析您的代码?

    我希望不是每个人都在使用 Rational Purify 那么当您想要测量时该怎么办 函数所花费的时间 内存使用峰值 代码覆盖率 目前 我们手动执行此操作 使用带有时间戳的日志语句和另一个脚本来解析日志并输出到 Excel 唷 你会推荐什么
  • 需要在sql server中通过四舍五入的时间或日期数字来计算

    我在 Ms Sql 2008 中有 2 个数据列 uniqueidentifier 列作为 ID 和日期时间列 其结果如下所示 2011 11 06 18 02 18 030 2011 11 06 18 02 18 373 2011 11
  • 具有多个位置的 Spring 属性占位符配置器中的属性解析顺序是什么?

    假设我有一个配置
  • 在Scheme中使用let

    我想编写一个程序来求Scheme中二次方程的根 我使用 LET 来进行某些绑定 define roots with let a b c let 4ac 4 a c 2a 2 a discriminant sqrt b b 4ac cons
  • 如何使用TypeScript将大对象映射到更小的界面?

    我有一个从服务器返回的对象 其中包含例如 lorem 1 ipsa 2 3 dolor sit amet consectetur adipiscing elit you get the picture 和一个 TypeScript 接口 e
  • 如何绕过特定网址的“angular-in-memory-web-api”

    我正在使用 angular in memory web api 来模拟我的 REST Web api 但是现在我已经开始编写实际的 Web api 并且我想替换 angular in memory web api 步骤一步一步 例子 我写了
  • 带有布局的自定义错误页面

    我一直在努力让自定义错误页面正常工作 并不断寻找回到简单使用静态页面的方法 虽然静态页面可以工作 但它需要重新制作导航栏 这是我们目前希望避免的 我目前正在使用以下内容来指定自定义错误页面 Asp net 错误处理
  • ES6 中 var 的用例是什么?

    If the let关键字引入了块作用域的正确实现 var还有用例吗 我是从软件设计的角度来看这个问题的 而不是从语法的 你可以 的角度来看的 If the let关键字引入了块作用域的正确实现 var还有用例吗 可能有一种用例 let全局
  • 累积汇总列

    我可能需要一些有关 SQL 语句的帮助 所以我有一个表 cont 如下所示 cont id name weight 1 1 10 2 1 20 3 2 40 4 2 15 5 2 20 6 3 15 7 3 40 8 4 60 9 5 10
  • 异步/等待不同的线程ID

    我最近正在阅读有关 async await 的内容 我对以下事实感到困惑 我正在阅读的许多文章 帖子都表明使用 async wait 时不会创建新线程 example 我创建了一个简单的控制台应用程序来测试它 class Program s
  • JQuery Datepicker,无法手动触发onSelect事件!

    我正在使用 jquery 的日期选择器 每当从内联日期选择器对象中选取日期时 都会通过 ajax 调用填充项目列表 该脚本工作完美 只是我无法触发 onSelect 事件来填充我的初始项目列表 我可以通过最初使用 php 填充列表来解决这个
  • 当客户端刷新或打开新页面时,Socket.io 在客户端保持连接

    如果用户打开新页面或刷新页面 是否有某种方法可以在客户端保持相同的 socket io 连接 可能将套接字存储在会话中或者这是不可能的 不可能 当页面更改或刷新时 您无法保持相同的 socket io 或 webSocket 客户端连接 浏
  • 将 JSON 转换为数组 Javascript

    我当前正在从应用程序的服务器端接收 JSON 对象 结果是这样的 tags value 2 label Dubstep value 3 label BoysIIMen value 4 label Sylenth1 但后来我真的不需要结果中的
  • C# 中默认的访问修饰符是什么?

    类 方法 成员 构造函数 委托和接口的默认访问修饰符是什么 C 中所有内容的默认访问权限是 您可以为该成员声明的最受限制的访问权限 例如 namespace MyCompany class Outer void Foo class Inne
  • 如何将控件设置为透明背景

    如何将控件的背景设置为透明 我说的是Label and Text目前的控件 但可以是我在 GUI 中看到的任何标准控件 shell setBackgroundMode SWT INHERIT FORCE 会做你想做的事 The Compos
  • UTF-8 可在 Eclipse 上使用,但无法使用导出的 jar

    我正在开发一个桌面应用程序Java Swing并将数据保存在MySQL阿拉伯语数据库 使用UTF 8 当我运行应用程序时Eclipse一切都运行良好 但是当我完成并将我的工作导出到runnable jar using Eclipse exp
  • 在 JavaScript 中检测 WebKit 设备的物理屏幕尺寸

    我想在客户端 JavaScript 代码中按屏幕宽度对设备进行分类 所有适合一只手 7 英寸以下 的设备均属于移动类别 将其他设备视为桌面设备 Fallback 将不支持必要 API 的设备视为移动设备 Question 我可以使用哪些相关
  • 将数据广播到 Flutter 中的多个 widget

    有没有一种方法可以将数据从一个小部件广播到其他小部件 类似于 Android 上的 BroadcastReceiver 或 iOS 上的 NSNotificationCenter 具体来说 我试图检测导航器何时弹出或推送新视图 我将 nav
  • 将内存映射到文件描述符的系统调用(逆映射)?

    我希望能够将内存映射到文件描述符 以便我可以使用一些需要文件描述符的现有函数 这基本上就是我正在寻找的 void do operation1 int fd char data DATA MAX embedded binary data in
  • 快速会话安全:true

    app use session secret testing credentials store sessionStore resave true saveUninitialized true cookie httpOnly true se