数据库表:login_info
--------------------------------------
| login | passwd | company |
--------------------------------------
|company1 | passmd5 | company1 |
--------------------------------------
|company2 | passmd5 | company2 |
--------------------------------------
|company3 | passmd5 | company3 |
--------------------------------------
登录匹配后,登录名和公司名称将保存在会话变量中。
$_SESSION['SESS_MEMBER_ID'] = $log['login']; //where $log is the mysql_fetch_assoc result array
$_SESSION['log_company_id'] = $log['company'];
然后在会话变量中使用存储的公司名称,公司详细信息从公司特定的数据库加载。 我不依赖cookie来存储这些信息。 这种方法安全吗?我应该做别的吗?我应该知道的任何其他安全措施吗?
答案 0 :(得分:1)
而不是将loginid存储在变量中,而只是“假设”您可能希望将会话存储为数据库中的记录。然后在会话变量中获得此记录的id。
这样你可以将用户的IP地址存储在数据库中,当你检查会话时,可以检查数据库中会话的IP地址 - 这将消除会话劫持并增加安全性。