保持登录功能php

时间:2012-12-01 21:25:05

标签: php security

我正在制作一个允许用户保持登录的php页面,我正在检查用户当前的IP与存储在sql表中的IP。

我将用户ID存储在cookie而非ip中。

我应该做什么其他检查?我现在不认为知识产权就足够了。

4 个答案:

答案 0 :(得分:2)

依赖于cookie来让用户在您的应用程序或网站中保持登录状态。用户的IP可能会更改,因此不适用于此功能。它只是编写cookie然后在登录时阅读它。

答案 1 :(得分:0)

您可能希望在会话中存储用户详细信息。 Cookie相对不安全,可用于权限提升。

答案 2 :(得分:0)

散列会话cookie有助于保持用户登录。这是因为cookie保留在用户的计算机上,并允许它访问会话数据。哈希它增加了一层安全性。

用户的IP地址不如cookie或会话变量那么好。首先,它可以改变(就像智能手机从一个塔的范围移动到另一个塔的范围)。另一方面,它可以共享(就像在同一个无线路由器上的多个用户一样)。最后,IP地址可能会被欺骗。

另一方面,

会话只会在浏览器打开时持续(取决于服务器端设置的会话超时)。在这种情况下,会话建立一个会话cookie,允许浏览器指向服务器上的会话数据。

会话数据更加安全,因为在浏览器会话期间,一个会话cookie就是驻留在用户计算机上的所有内容。这样,您可以在服务器上存储更多敏感数据(用户名,个人身份信息或帐户数据)。

访问会话数据的唯一方法是通过该用户的单个会话cookie,这通常是一个非常长的随机字符串。哈希它使解读起来非常困难。

答案 3 :(得分:0)

IP可以更改,因此使用IP进行“保持登录状态”不是一个好主意。最好的方法是在Cookie中使用API​​密钥。这样,即使用户更改了IP(例如,当他们连接到代理服务器时),用户也可以登录。参见下面的问题: "Keep Me Logged In" - the best approach