当前位置: 首页 > 面试题库 >

会话密钥在Express Web框架中的重要性

史骏祥
2023-03-14
问题内容

我对 会议秘密
的重要性感到困惑。我正在使用Express和Node进行Web开发,此刻,我正在尝试实现简单的登录。以下代码摘自Express中的会话示例。

// Required by session() middleware
// pass the secret for signed cookies
// (required by session())
app.use(express.cookieParser('keyboard cat'));

// Populates req.session
app.use(express.session());

它使用“键盘猫”作为会话机密。我浏览过的有关会话机密的许多内容都建议我将其更改为自定义内容。我现在有3个与此有关的具体问题。

  1. 为什么在使用PHP之前没有见过这个?
  2. 会话机密到底是用来做什么的?
  3. 假设我更改了会话密钥。我的代码是开源的。在这种情况下,将其更改会不会有点多余?我看不到要求用户提供自定义密钥作为选项。
  4. 我正在考虑生成一个随机UUID来填充密钥。这有问题吗?(就安全性而言)

问题答案:

我认为其他答案都遗漏了要点,那就是该secret参数是否使会话管理更加安全。在Security.StackExchange这个问题中进行了很好的讨论:为什么直接将会话ID存储在cookie中是不安全的?

我建议您阅读它(不仅有最高的投票答案是相关的)。

尝试总结一下:在 会话ID 为大随机数的情况下,它不会显着减少会话被猜测和被劫持的机会,但是如果 会话ID
是自定义的(例如递增ID),则显然会大有帮助在 ExpressJS中 可能。

用户可以使用他们想要的任何会话ID。也许有人觉得他们应该使用SQL数据库中的自动递增数字,这没关系,因为我们通过对值进行签名,加长密钥来保护他们不知情的决定。



 类似资料:
  • 问题内容: 我正在写一种加密会话密钥的方法。它需要这样做,以便可以通过已成功测试的其他程序解密密钥。解密程序无法更改。我受困的是使我的加密工作与解密例程保持一致。 首先让我给出解密例程。请记住,这不能改变: 这是我正在编写的加密例程。我生成base64编码的文本,但最终无法解密。值得注意的是,我已验证解密例程正确获取了加密例程的结果(两者之间没有握手问题)。 我真的被卡住了。任何帮助表示赞赏。谢谢

  • 我有一个PGP公钥加密的会话包,我想从中提取会话密钥,这样我就可以单独解密会话密钥。我正在使用BouncyCastle库,并像这样提取会话密钥: 其中session_key_enc.bin是二进制格式的加密会话密钥,private.pem是与我在GPG中用于加密数据的公钥相对应的私钥。在加密数据之前,我将RSA密钥对的公钥部分转换为PGP格式的密钥,并将其导入GPG。 当我运行OpenSSL命令时

  • 多线程问题 在同一时间多个 servlet 执行请求的线程可能都有到同一会话的活跃访问。容器必须确保,以一种线程安全的方式维护表示会话属性的内部数据结构。开发人员负责线程安全的访问属性对象本身。这样将防止并发访问HttpSession对象内的属性集合,消除了应用程序导致破坏集合的机会。 分布式环境 在一个标识为分布式的应用程序中,会话中的所有请求在同一时间必须仅被一个 JVM 处理。容器必须能够使

  • 因为我是加密概念的新手。我想做的是一个应用程序,它发送的数据是用AES对称技术加密的。另外,我还需要将我以前使用非对称RSA技术加密的密钥以加密格式发送到另一边。我已经完成了使用AES对称加密技术使用256位密钥的加密,现在我已经加密数据,密钥,和启动矢量(IV)在字节。当我试图解密时,我知道起始向量也需要得到准确的数据。 现在我的问题是 C#中的AES解密代码: 我在C#中的非对称代码

  • 我试图使用Spring Integration创建一个iso8385 TCP服务器。典型的情况如下: 客户端连接到服务器并保存ISO8385消息 服务器处理消息 服务器制定响应并关闭连接 我希望跟踪每个新的TCP连接,并为其创建一个标识符,以便将每个处理与连接的客户端相关联。但我不知道怎么做。这个想法是: 将ISO8385转换为java类的tcp入站适配器 将处理消息的服务激活器 将java类转换

  • 问题内容: Heyja, 这个问题的常用答案:“ Java有什么特别之处?” 是“工具和框架”。我想这是正确的。当我看到所有使您作为开发人员的生活更加轻松的工具和框架时,我感到非常惊讶。 我的Java技能不是很完美,但是平均水平很好,我仍在努力。例如,我已经开始学习Ant,我不想错过它。这很棒。与休眠相同。现在我问自己下一步该学些什么。我想为自己,尤其是我的简历积累经验。不幸的是有很多。每个人都在