【发布时间】:2010-11-01 03:12:50
【问题描述】:
我目前正在设置身份验证系统。
我目前的布局是从$_POST 获取他的电子邮件,md5 他的密码,并根据他的电子邮件和密码检查数据库。
如果匹配,我使用session_start,并开始将数据存储在$_SESSION 变量中,如下所示:
$_SESSION['uid'] = $uid;
$_SESSION['first_name'] = $first_name;
并且在网站的每个页面上,我都会进行简单的检查
isset($_SESSION['uid']);
如果不是,则重定向到索引页面,如果是,则加载页面。
我这样做正确吗?这足够安全吗?有人伪造这些数据有多容易?
有人告诉我,我应该创建一个表格,其中包含用户的电子邮件和他的会话 ID,并使用它来管理事情......我变得相当困惑 - 这有什么帮助?
有人可以澄清一下吗?使用 PHP 会话管理身份验证的正确方法是什么?
谢谢。
【问题讨论】:
-
您已经知道如何正确使用会话。然而,您正在尝试构建的是一个身份验证系统。这要复杂得多。你可以看看github.com/delight-im/PHP-Auth 并检查它的来源,看看它付出了很多努力和思考。