我正在创建一个具有php登录功能的网站。通常我使用"会话"来存储登录用户数据。我只是担心这个疗程使用起来不安全。请建议。
谢谢。
我们使用一个mysql表userIn
来处理会话。
用户登录时,userIn (userID, sessionID, date, IP)
上插入一行客户端存储的cookie只有sessionID,你可以
- 删除同一用户之前打开的会话
- 检查每次呼叫的IP(如果有人抓取了sessionID,他就不能以用户的名义通信)
- 可以删除
userIn
中的行,以便按时间(例如:8小时左右)
工作原理:
-
登录:
INSERT INTO userIn SET userID='', sessionID='', date=NOW(), IP='$REMOTE_ADDR'
然后设置cookie:SetCookie("MySession", $sessionID);
-
每次页面加载:
SELECT * FROM userIn WHERE sessionID='$_COOKIE[MySession]' AND IP='$REMOTE_ADDR'
(并可选择更新userIn
中的日期)