Php 如何使会话cookie持续一年?
如何使会话cookie持续更长时间 我在登录我的用户的文件中使用以下代码:Php 如何使会话cookie持续一年?,php,session,Php,Session,如何使会话cookie持续更长时间 我在登录我的用户的文件中使用以下代码: <? session_regenerate_id(); session_set_cookie_params(3600*24*365); session_start(); $_SESSION['u']['id'] = xxxx; ?> 在站点的其余部分,我只使用session_start()以启动会话 客户端上的cookie PHPSESSID设置为365天后过期,但是如果我一天没有使用该站点并返回,我将
<?
session_regenerate_id();
session_set_cookie_params(3600*24*365);
session_start();
$_SESSION['u']['id'] = xxxx;
?>
在站点的其余部分,我只使用session_start()
以启动会话
客户端上的cookie PHPSESSID设置为365天后过期,但是如果我一天没有使用该站点并返回,我将注销。我是否必须执行其他操作才能使cookie更持久?在普通cookie中,您可以在设置cookie时手动执行此操作:
setcookie($foo, $bar, time()+(3600*24*365));
但是,在浏览器关闭后,会话cookie会自动删除(除非您使用的浏览器专门保存跨运行的会话)。老实说,如果您希望会话的持续时间比会话的持续时间长,那么您应该使用某种数据持久性(如MySQL)序列化所述会话。这也是php.init中的php session.gc_maxlife。两天前,我被告知会话cookie更安全,并将所有内容更改为会话。我得把所有的东西都换回来。怎么样?我登录并在表中创建一行,会话将cookie保存到客户端以供参考,然后呢?我是否必须在每次页面加载时检查表以获取用户id?会话cookie的安全性取决于您的连接。它们本身并不比常规HTTP cookie更安全或更不安全。实际上,PHP会话使用HTTP cookies。如果您启动Wireshark,您实际上可以看到cookies(会话和“常规”HTTP)在标头中传递。根据经验,我可以告诉你,虽然你可能认为在每次加载页面时都要做大量的工作,但请记住,计算机真的、真的、真的很快。因此,是的,您希望在每次加载页面时进行用户检查/登录。