我想知道出于安全目的,是否值得使用session_name()函数将默认phpsessid重命名为散列或加密ID?
如果是这样,实施它的最佳方法是什么?
谢谢,
答案 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