【问题标题】:Class Session PHP类会话 PHP
【发布时间】:2014-08-01 13:21:42
【问题描述】:

我有一个生成 session_id 的类,但每个 f5 都会更新它。

如何让它不更新每个 f5?

<?php

class SessionIdSaf
{
    function sessionGenerate() {

      $httponly = true;
      $session_hash = 'sha512';
      if (in_array($session_hash, hash_algos())) {
        ini_set('session.hash_function', $session_hash);
      }
      ini_set('session.hash_bits_per_character', 5);
      ini_set('session.use_only_cookies', 1);

      $cookieParams = session_get_cookie_params();
      session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], md5('secure'.$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']), $httponly);
      session_name(md5('secure'.$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']));
      session_start();
      return session_id();

  }

  function sessionRegenerate() {

    session_start();
    session_regenerate_id();
    return session_id();

  }

}


session_start();
if (session_id()) {
    $sessionIdSaf           = new SessionIdSaf();
    $sessionIdSafGenerate   = $sessionIdSaf->sessionGenerate();
}
echo $sessionIdSafGenerate;

我想要一个简单的类来生成 session_id 并重新生成。

只是为所有网站访问者生成一个 session_id。

【问题讨论】:

  • 仅供参考:md5(0,3) 没有做任何有用的事情。
  • 谢谢!我做了更正

标签: php class session


【解决方案1】:

您每次都在调用session_regenerate_id(true);,因此每次调用此函数时都会重新生成会话ID。

【讨论】:

  • 谢谢!!我上课的方式是一个好习惯吗?你有一个例子给我看吗?
  • 很难给你一个好的具体例子,我建议你浏览一下网络以获得一些最佳实践!祝你好运!
猜你喜欢
  • 1970-01-01
  • 2018-06-30
  • 2012-02-29
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 2012-10-27
  • 1970-01-01
  • 2012-12-21
相关资源
最近更新 更多