0

我正在寻找对我的网站进行安全用户身份验证的最佳方式。

我正在考虑以下解决方案:

首次登录:要求登录数据 -> 生成由 IP 地址、密码和 cookie 到期日期组成的哈希码 -> 将该哈希码存储到数据库中,但也存储到 cookie 中。

下次登录:检查 cookie,在我的用户数据库中查找哈希码。

那会是最安全的方法吗?或者使用cookies会有问题吗?谢谢

4

2 回答 2

1

通常,您会希望在浏览器中存储一个 cookie,该 cookie 指向数据库中某处表明他是已知用户的记录。您要确保的一件事是该 cookie id 是全球唯一的。所以,是的,对各种独特属性使用哈希(或 md5 或 sha1)很可能就足够了。在数据库中的unique该列上添加一个也是一个好主意。

另一个想法是在您的 users 表中有一个列,在cookieid创建条目时生成它并确保它的唯一性。然后每次该用户登录时使用它。如果您真的担心安全性,如果您想更新 cookie,您可以每隔一段时间使用后端脚本更改每个用户该列的所有值。

will there be problems using cookies?

除了与所有浏览器不兼容的较新的 html5 功能外,cookie 确实是保存登录信息的唯一方法。转到您使用的大网站,ebay、amazon、wellsfargo。擦除所有 cookie 和私人数据,然后去那里登录。然后查看您的 cookie。他们在里面放了什么?如果它对这些人来说足够好,那么它可能对你来说就足够了。

于 2012-10-31T16:51:57.393 回答
1

最好和最简单的方法是使用 php-sessions。

<?php
session_start();
$_SESSION["user"] = "foo";
$_SESSION["ip"] = "123.132.123.132";
?>
于 2012-10-31T16:52:01.627 回答