2

当用户创建帐户时,他会从数据库中获得一个唯一且自动递增的用户 ID。所以第一个用户的用户 id 为 1,创建的第二个用户的用户 id 为 2,依此类推。我正在使用 PHP 会话在他们登录时存储用户 ID,以便他们保持登录状态。在阅读了几篇文章后,我明白你永远不希望 PHP 会话像我所做的那样容易受到攻击(这很容易让黑客确定每个用户的 php 会话用户 ID。所以我的问题是,如果我要使用 md5 或 blowfish 基于他们唯一的用户名来为每个用户生成用户 ID,那会使 PHP 会话安全吗?

4

1 回答 1

1

一个好的方法总是在登录屏幕上并立即发布登录以强制使用随机数生成新的会话 ID

session_start();
$newsessid = somerandomnumberfunction();
session_id($newsessid);

你也可以使用 session_regenerate_id() 函数来生成一个新的 id

session_start();
session_regenerate_id();

好读

PHP 会话安全

PHP 安全指南:会话

于 2012-10-03T17:51:36.950 回答