制作登录脚本,我现在有以下 cookie:
这在每个页面上,但在浏览器关闭时过期。
session_name('Test_Login');
session_set_cookie_params(0, '/', '.test.com', false, false);
session_start();
如果成功登录,这将存储用户名。返回站点时,它将在登录表单中填写用户名。
setcookie('Test_User', $_POST['username'], time()+365*24*60*60, '/', '.test.com', false, false);
这会记住登录表单上“记住我”选项的值——真或假。
setcookie('Test_Remember', $_POST['rememberMe'], time()+365*24*60*60, '/', '.test.com', false, false);
如果用户选择了上面的记住我选项,这将存储用户纯文本密码,并让他们在访问该站点时自动登录,即使在一天内关闭浏览器后也是如此。如果存在此和用户 cookie,它会检查是否有效并再次创建用户会话变量。
setcookie('Test_Pass', $_POST['password'], time()+24*60*60, '/', '.test.com', false, false);
其他要考虑的事情是如果您注销会话传递 cookie 是否被破坏。
我的问题:我 md5 和盐存储在数据库中的用户密码。我实际上从来不知道用户通过。问题在于记住选项,我将他们的密码以普通视图存储在 cookie 中。将通行证存储在 cookie 中并且可以以这种方式使用的最佳方式是什么?这样做的标准是什么?基本上我只是希望它与 Facebook 或任何其他登录系统一样。如果您告诉它记住您,它会记住您 - 那么他们如何存储信息以重新登录,而不是在 cookie 中以纯文本形式这样做呢?
最好为此设置一个单独的 cookie (4) 吗?会话 cookie 是有道理的,但是在我这端就没有更优化的方式来组合其他三个吗?