【问题标题】:should all sessions be unset/removed in php是否应该在 php 中取消设置/删除所有会话
【发布时间】:2023-03-22 01:45:01
【问题描述】:

我知道会话一直存在,除非浏览器关闭或会话过期。我怀疑如果我设置了一个对网站中的任何其他部分没有用的会话变量。 那么是否有必要取消设置这个会话变量。 谢谢。

【问题讨论】:

  • 为什么你想要一个不被你使用的变量。
  • 用技术术语来说,只有一个“会话”,但有很多“会话变量”。
  • 另外,请比“对网站的任何其他部分没有用处”更具体。如果一个变量只需要在一页上,那么它(通常)不需要是会话变量。
  • 我所说的“对网站的任何其他部分都没有用处”。是否仅在某些部分而不需要其他部分需要会话谢谢

标签: php session


【解决方案1】:

是的 原因:它可以防止目录填满可能导致性能下降的会话文件,更重要的是,它降低了有人猜测会话 ID 和劫持旧的未使用会话的风险

但是 PHP 已经对会话进行了垃圾回收,因此未使用的会话变量会被自动清理。

但对我来说,这是一种规则,即立即取消设置任何未使用的会话变量

【讨论】:

    【解决方案2】:

    不,没有必要取消设置会话变量,但您可以为那些未使用或需要根据业务逻辑取消设置的变量进行设置。

    例如购物车,用户添加一些产品并进行支付,支付成功后这些产品应该从卡中删除,因此需要从会话中取消设置。

    【讨论】:

      【解决方案3】:

      要显示所有当前会话变量,请使用var_dump($_SESSION);。无法获取未设置或已销毁会话变量的值。如需进一步参考,请参阅链接。 Session Manual

      【讨论】:

        猜你喜欢
        • 2016-08-03
        • 2015-08-24
        • 1970-01-01
        • 2013-10-14
        • 1970-01-01
        • 2021-07-20
        • 1970-01-01
        • 1970-01-01
        • 2016-10-01
        相关资源
        最近更新 更多