Php 基于Cookie的登录系统

Php 基于Cookie的登录系统,php,security,Php,Security,我正在考虑使用cookie ip匹配系统自动登录用户,如果用户在已知系统上且其ip未更改,则无需输入登录数据 这是一个不错的策略还是我打开了一个主要的安全漏洞?只需创建注销链接,在删除他们的cookie之前,选择他们的电子邮件,并通过哈希向他们发送链接,该链接将重新生成他们的cookie。这样他们就可以在公共机器上注销 在处理数据库中的cookie之前,请先清理cookie。只需创建注销链接,在删除他们的cookie之前,选择他们的电子邮件,并通过哈希向他们发送链接,该链接将重新生成他们的coo

我正在考虑使用cookie ip匹配系统自动登录用户,如果用户在已知系统上且其ip未更改,则无需输入登录数据


这是一个不错的策略还是我打开了一个主要的安全漏洞?

只需创建注销链接,在删除他们的cookie之前,选择他们的电子邮件,并通过哈希向他们发送链接,该链接将重新生成他们的cookie。这样他们就可以在公共机器上注销


在处理数据库中的cookie之前,请先清理cookie。

只需创建注销链接,在删除他们的cookie之前,选择他们的电子邮件,并通过哈希向他们发送链接,该链接将重新生成他们的cookie。这样他们就可以在公共机器上注销


在通过数据库进行处理之前对cookie进行清理。

Ỉ就某些人使用公共机器而言,这可能是一个潜在的安全问题。所以让它成为可选的。此外,您还需要考虑一些机器使用动态IP寻址。您提出的方法在这种情况下不起作用


但最重要的是,不要将密码存储在cookie中。

Ỉ就某些人使用公共机器而言,这可能是一个潜在的安全问题。所以让它成为可选的。此外,您还需要考虑一些机器使用动态IP寻址。您提出的方法在这种情况下不起作用


但最重要的是,不要将密码存储在cookie中。

这当然是一个安全漏洞,因为如果用户登录到您的网站并忘记注销,任何使用此计算机并在计算机上拥有相同帐户的人都可以登录到您的网站

请注意,此问题也会发生在所有网站上,只是通常仅限于会话生存期

因为这是所有网站的工作方式,我不认为这是一个真正的安全漏洞,但它肯定会鼓励用户对安全问题不小心。这是一个椅子/键盘界面安全漏洞:P


正如@Ed Heal所说,不要将密码存储在cookie中,而是存储一个随机令牌,然后将其保存在DB中。登录过程应检查数据库中存储的cookie是否与cookie上的cookie相同。

当然,这是一个安全漏洞,因为如果用户登录到您的网站并忘记注销,使用此计算机的任何人都可以使用计算机上相同的帐户登录到您的网站

请注意,此问题也会发生在所有网站上,只是通常仅限于会话生存期

因为这是所有网站的工作方式,我不认为这是一个真正的安全漏洞,但它肯定会鼓励用户对安全问题不小心。这是一个椅子/键盘界面安全漏洞:P


正如@Ed Heal所说,不要将密码存储在cookie中,而是存储一个随机令牌,然后将其保存在DB中。登录过程应检查数据库中存储的cookie是否等于cookie上的cookie。

注销按钮将删除cookie,他们必须重新输入数据。我只是问这是不是一个安全漏洞。饼干可以被篡改。如果有人也可以篡改ip,他们可能会非法访问我的网站。如果你在删除cookie之前存储了所有数据,则不会。通过电子邮件向他们发送链接以重置cookie。IP仅在cookie上可以被篡改,因此您需要更好的安全性,并结合电子邮件检查。注销按钮将删除cookie,他们将不得不重新输入数据。我只是问这是不是一个安全漏洞。饼干可以被篡改。如果有人也可以篡改ip,他们可能会非法访问我的网站。如果你在删除cookie之前存储了所有数据,则不会。通过电子邮件向他们发送链接以重置cookie。IP可以在Cookies上被篡改,所以你需要更好的安全性,结合电子邮件检查就可以了。我不介意这种方法在某些情况下不起作用,我只是想作为一个额外的,而不是作为基本的登录系统提供。如果失败,他们只需进入登录屏幕并输入数据。我也不介意让同一台机器的其他用户访问。我认为用户有责任在使用公共机器时注销。当然,存储密码对我来说是一种安全犯罪。为什么不采用雅虎和其他公司使用的方法呢?有一个复选框使您保持登录状态。默认情况下,当浏览器关闭时,它们将被注销。我不介意该方法在某些情况下不起作用,我只想将其作为一个额外的,而不是作为基本登录系统提供。如果失败,他们只需进入登录屏幕并输入数据。我也不介意让同一台机器的其他用户访问。我认为用户有责任在使用公共机器时注销。当然,存储密码对我来说是一种安全犯罪。为什么不采用雅虎和其他公司使用的方法呢?有一个复选框使您保持登录状态。默认情况下,当浏览器关闭时,它们将注销。