当前位置:  开发笔记 > 编程语言 > 正文

Cookies PHP

如何解决《CookiesPHP》经验,为你挑选了1个好方法。

我如何"内置"此脚本的自动登录?

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变量,则可以为其分配一个.



1> Sasha..:

首先,一些建议:

    您应该将密码存储为盐渍哈希,而不是明文.

    您可能希望更改一般身份验证的方式.选择密码可能是个好主意(不管怎样也不要选择"Select*"),并将其与用户输入的密码的盐渍哈希值进行比较.

现在,你问,如果我理解正确,如何让用户登录.基本的想法是你需要存储一个cookie,其中包含唯一标识用户的东西(但要确保它不是容易被劫持的东西) - 所以把它变成一个非常长的字符串,比如SHA1哈希或其他东西.)在cookie上设置一个远离的过期日期以保持用户登录.

以下是用于在PHP中设置cookie的函数.

然后,当您加载页面时,您可以检查该cookie是否存在.如果cookie存在,并且用户没有SESSION变量,则可以为其分配一个.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有