phpsessid - 是否值得将会话名称更改为哈希值和访问者特定值

时间:2011-10-24 14:21:26

标签: php security session-cookies sessionid

我想知道出于安全目的,是否值得使用session_name()函数将默认phpsessid重命名为散列或加密ID?

如果是这样,实施它的最佳方法是什么?

谢谢,

2 个答案:

答案 0 :(得分:1)

在网上有很多关于此的内容,以及我在StackExchange上阅读的以前的问题。加密你的session_id只会创建另一个与原始随机数一样容易劫持的随机数。

如果您考虑一下,如果您加密会话,您将会将session_id重新分配给新号码(在这种情况下您没有取得任何成果),或者您将在脚本中使用加密/解密功能。

如果您使用后一种方法,并且某人获得了另一个用户加密的会话ID,那么您的脚本将对其进行解密,并且仍然会授予访问权限。

简而言之,对于你的session_id进一步加密超出它所分配的随机数,没有什么意义,也没有实际效用。

答案 1 :(得分:0)

PHPSESSID 重命名为另一个名称,例如 MYNEWNAME ,因为对 PHP 一无所知的任何人都知道 HTTP 服务器不维护状态,只能使用 PHPSESSID 跟踪用户。 PHPSESSID存储在客户端cookie中,因此我认为它不安全。每当会话被成功劫持时,有人可能会强行使用它并执行某些操作(例如Facebook状态发布)。进一步了解https://codereview.stackexchange.com/questions/75310/protect-from-people-bruteforcing-the-phpsessid