PHP-PHP中Session ID的生成算法是绝对唯一吗?

PHP-PHP中Session ID的生成算法是绝对唯一吗?

归属感 发布于 2017-04-17 字数 53 浏览 1144 回复 3

如果不是绝对唯一,那请问能生成绝对唯一的ID吗?

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

晚风撩人 2017-09-22 3 楼

可以自己控制session_id,有需求的话,可以自己写个绝对唯一的算法,然后用session_id()函数给用户分配你生成的session_id。

晚风撩人 2017-06-10 2 楼

不可能绝对唯一,只是发生碰撞的几率比较低。
这里有php sessionId的算法你可以看看。

偏爱自由 2017-04-28 1 楼

保证绝对惟一可能不大容易做到,不过相对惟一还是可以做的,这里提供使用uniqid的算法,供参考。

<?php
// Generating cookies must take place before any HTML.
// Check for existing "SessionId" cookie
$session = $HTTP_COOKIE_VARS["SessionId"];
if ( $session == "" ) {
// Generate time-based unique id.
// Use user's IP address to make more unique.
$session = uniqid ( getenv ( "REMOTE_ADDR" ) );
// Send session id - expires when browser exits
SetCookie ( "SessionId", $session );
}
?>
<HTML>
<HEAD><TITLE>Session Test</TITLE></HEAD>
<BODY> <br> 16 Current session id: <?php echo $session ?>
</BODY></HTML>