【问题标题】:Do we need encrypt session id before saving it into database我们是否需要在将会话 ID 保存到数据库之前对其进行加密
【发布时间】:2013-12-06 05:37:17
【问题描述】:

我想使用数据库作为会话存储。我设计了一个包含 3 列的简单表格: SessionID、Key、Value(Session ID & Key 为主键)。

我的问题是我应该在将用户会话 ID 保存到表中之前对其进行加密吗?在我看来,我应该这样做,因为它可以防止某人(有权访问数据库)看到活动会话 ID。

【问题讨论】:

    标签: security session encryption


    【解决方案1】:

    您可以加密会话,但这不是标准做法。通常,数据库受到很好的保护,只有 Web/应用程序服务器能够访问它。

    此外,由于会话应该过期(并超时),因此即使访问过,也会将损害减轻到一个很小的时间窗口内。

    如果您决定对会话 ID 进行加密,这应该相当容易,尤其是在您采用面向对象的方法时。您可以简单地在持久层附近加密会话。

    一个更常见的问题是会话 ID 被从网络中嗅出。确保您在客户端/浏览器和应用程序/Web 服务器之间强制使用 HTTPS 以防止这种情况发生。

    此外,您可以在任何严重操作中再次请求密码,以进一步缓解会话劫持问题。

    【讨论】:

    • 谢谢。我喜欢你的想法:HTTPS + 对任何严重的行为再次请求密码。
    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    • 2020-04-21
    • 1970-01-01
    相关资源
    最近更新 更多