一种生成自定义会话ID而无需编辑php.ini的方法

AM-*_*AM- 7 php session

我正在尝试创建自定义会话ID生成器.从我整个网站阅读,你可以通过手动编辑PHP的设置文件做到这一点,但是,它不会,直到我从我的共享服务器切换到一个完全可定制的一个可用.

我想问的是,是否可以通过向页面输入PHP代码来指定会话ID的生成方式?我的目的是使用与默认ID生成器相同的机制,但使用sha512和一些自定义的东西,如salt.

小智 9

如果session_id()在调用之前将字符串传递给函数session_start(),则可以自己设置会话ID.例如:

function generate_id() {
  ...
  return $your_id;
}

session_id(generate_id());
session_start();
Run Code Online (Sandbox Code Playgroud)