在某个时间点,您将不得不在会话中存储某些东西.是会话变量还是会话表中的一行的ID.在这种情况下,改变存储在严重加密的会话中的ID并劫持不同的会话将是相当容易的.
考虑这个:
完整会话选项这具有用户ID,用户名和存储的加密和散列密码,以便每次调用页面时,它将验证我的登录.要劫持别人的会话,我必须知道他们的用户名,用户名和密码哈希,并能够克服会话固有的加密.
会话DB选项.这只有一个存储的会话ID引用数据库中的一行.所有我要做的更改会话我想要的是打破会话上的加密,并说加入会话ID.然后我将被认证为在我之后登录的用户.
您可以将会话中的登录详细信息存储在会话表中,如果您有很多额外的信息,则可以将会话表中的任何无登录相关数据存储起来,但再次可能会删除额外表的需要,并从任何相关表中提取数据你需要.