我一直在使用codeigniter3。我想在数据库中设置cookie令牌。这样即使在浏览器关闭会话后也不会过期。基于令牌存储如何实现这个?
$cookie = array(
'name' => 'token',
'value' => generateRandomString() ,
'expire' => '1209600',
'domain' => domain() ,
'path' => '/'
);
set_cookie($cookie);
答案 0 :(得分:0)
正如评论中所说,你在cookie和会话之间都是错误的;
例如,如果您有此代码:
session_start(); // Start the session
$_SESSION['username'] = "Sam Swift 웃"; // Set a value into the session
isset($_COOKIE['username']) ?: setcookie("username", $_SESSION['username'], 0); // A cookie that will last forever
当浏览器关闭时,$_SESSION['username']
值将被销毁,因为服务器在浏览器打开时保留它,而名称为username
的cookie将在设置时间限制时永久保留到0。
如果您使用谷歌浏览器,请尝试查看此extension,以便查看为网站设置的Cookie。
我希望这会对你有所帮助。
思考的注意事项: