【问题标题】:ServerSide Sessions safe?服务器端会话安全吗?
【发布时间】:2010-10-27 14:10:18
【问题描述】:

我在我编写的应用程序中使用(服务器端,而不是 cookie)会话,如果用户没有获得对服务器的访问权限,我可以信任 $_SESSION 变量还是应该在每个页面加载时验证它的内容?


注意:
我正在尝试限制对我的数据库的查询数量,目前我正在验证每个页面加载时的数据,我认为我可能可以消除查询,但我想 100% 确定。

【问题讨论】:

    标签: php security session


    【解决方案1】:

    是的,您可以将其安全地存储在会话中。您应该确保 Validation 方法是安全的。 (存储在会话中之前使用的方法)。

    【讨论】:

    • 顺便说一句,它确实取决于您在会话中存储的信息。我们将整个用户对象存储在会话中。这意味着我们需要一个“刷新”方法来同步会话/数据库数据,例如当用户更新其信息时。
    • 这正是我目前正在验证用户对象的数据。
    【解决方案2】:

    您只需要确保会话存储在安全的地方。默认情况下,会话存储在 Linux 上的 /tmp/ 之类的地方。如果用户可以访问您的服务器,他们可以编辑会话变量。

    您应该考虑将会话保存到数据库,和/或向会话添加哈希计算(md5+秘密种子)验证,并始终检查会话变量是否未针对该哈希进行修改。

    【讨论】:

    • 如果实时网络服务器上有一个“用户”并且他/她可以编辑会话文件,那么船已经消失了。 BTW Unkwntech 希望最大限度地减少数据库查询的数量 + 用户可以像编辑会话文件一样“轻松”地访问数据库。
    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多