检查用户是否登录
Check whether a user is logged in
我刚刚发现我的登录系统完全不安全。
所以我想到了一些事情:
- 用户尝试登录。
- 如果 hash(password) = 数据库中散列的密码,我会检查数据库。
- 如果可以的话,我设置一个cookie是这样的:
setcookie ("pseudo", $_POST['pseudo'], time() + 36000);
- 然后,在每个 "member" 页面上,我检查用户是否使用 :
登录
if (isset($_COOKIE['pseudo']))
但我不明白的是,任何人都可以创建一个名为 pseudo 的 cookie...那么这是否意味着我应该将密码存储在 cookie 中并检查每个 "member" 数据库页面?
您必须使用会话及其变量,它们存储在服务器上,因此用户无法更改它们的值。
读这个:http://php.net/manual/en/intro.session.php
还有这个:http://php.net/manual/en/session.examples.basic.php
如果您的连接正常,请创建一个会话(在用户连接时执行您想做的任何事情)。
我刚刚发现我的登录系统完全不安全。
所以我想到了一些事情:
- 用户尝试登录。
- 如果 hash(password) = 数据库中散列的密码,我会检查数据库。
- 如果可以的话,我设置一个cookie是这样的:
setcookie ("pseudo", $_POST['pseudo'], time() + 36000);
- 然后,在每个 "member" 页面上,我检查用户是否使用 : 登录
if (isset($_COOKIE['pseudo']))
但我不明白的是,任何人都可以创建一个名为 pseudo 的 cookie...那么这是否意味着我应该将密码存储在 cookie 中并检查每个 "member" 数据库页面?
您必须使用会话及其变量,它们存储在服务器上,因此用户无法更改它们的值。
读这个:http://php.net/manual/en/intro.session.php
还有这个:http://php.net/manual/en/session.examples.basic.php
如果您的连接正常,请创建一个会话(在用户连接时执行您想做的任何事情)。