我如何"内置"此脚本的自动登录?
if (isset($_POST['login'])) { $query = mysql_query(" SELECT * FROM users WHERE user_name = '".mysql_real_escape_string($_POST['username'])."' AND user_password = '".mysql_real_escape_string($_POST['password'])."' "); /* wrong login information? terminate the script */ if (!mysql_num_rows($query)){ header("Location: ./"); exit(); } /* set session with unique index */ $_SESSION['id'] = mysql_result($query, 0, 'user_id'); mysql_query("UPDATE users SET user_online = '1' WHERE user_id = '{$_SESSION['id']}'"); header("Location: ./"); exit; }
Sasha.. 6
首先,一些建议:
您应该将密码存储为盐渍哈希,而不是明文.
您可能希望更改一般身份验证的方式.选择密码可能是个好主意(不管怎样也不要选择"Select*"),并将其与用户输入的密码的盐渍哈希值进行比较.
现在,你问,如果我理解正确,如何让用户登录.基本的想法是你需要存储一个cookie,其中包含唯一标识用户的东西(但要确保它不是容易被劫持的东西) - 所以把它变成一个非常长的字符串,比如SHA1哈希或其他东西.)在cookie上设置一个远离的过期日期以保持用户登录.
以下是用于在PHP中设置cookie的函数.
然后,当您加载页面时,您可以检查该cookie是否存在.如果cookie存在,并且用户没有SESSION变量,则可以为其分配一个.
首先,一些建议:
您应该将密码存储为盐渍哈希,而不是明文.
您可能希望更改一般身份验证的方式.选择密码可能是个好主意(不管怎样也不要选择"Select*"),并将其与用户输入的密码的盐渍哈希值进行比较.
现在,你问,如果我理解正确,如何让用户登录.基本的想法是你需要存储一个cookie,其中包含唯一标识用户的东西(但要确保它不是容易被劫持的东西) - 所以把它变成一个非常长的字符串,比如SHA1哈希或其他东西.)在cookie上设置一个远离的过期日期以保持用户登录.
以下是用于在PHP中设置cookie的函数.
然后,当您加载页面时,您可以检查该cookie是否存在.如果cookie存在,并且用户没有SESSION变量,则可以为其分配一个.