创建安全的php会话cookie
我正在尝试获取php会话cookie,其中php会话id存储为安全(https)且仅http创建安全的php会话cookie,php,session,cookies,Php,Session,Cookies,我正在尝试获取php会话cookie,其中php会话id存储为安全(https)且仅http $name = session_name(); setcookie($name, $_COOKIE[$name], 0, '/', 'domain.com, 1, 1); 我在会话开始前调用上述代码。问题是它创建了两个cookie。按照我想要的方式创建一个安全的cookie,然后它只创建一个没有ssl或http的常规cookie。两个cookie具有相同的值 有没有办法告诉php创建安全(ssl)和仅
$name = session_name();
setcookie($name, $_COOKIE[$name], 0, '/', 'domain.com, 1, 1);
我在会话开始前调用上述代码。问题是它创建了两个cookie。按照我想要的方式创建一个安全的cookie,然后它只创建一个没有ssl或http的常规cookie。两个cookie具有相同的值
有没有办法告诉php创建安全(ssl)和仅http会话cookie
还有,不要再提另一个问题了。既然我们在同一个话题上。。。用户是否可以修改其端的
$\u会话
变量?我知道他们可以在自己的终端上操作会话id,但我想知道$\u session
是否可以安全地存储最终用户不能随意修改的用户id。PHP在您调用session\u start()
时为您创建cookie,这就是为什么
您可以使用函数或在php.ini
中配置该cookie
session_set_cookie_params($lifetime = 0, $path = '/', $domain, $secure = true, $httponly = true);
只需配置并删除您自己的setcookie
调用,这是多余的
用户是否可以修改其端的$\u会话
变量
不可以,他们只能编辑cookie中的数据。这通常会导致失去会话(或者如果幸运的话,会得到其他人的会话)
这就是为什么如果用户想要更改其密码,您需要再次询问当前密码的原因。同样重要的事情也一样
同样,在成功登录或注销后:
对于注销:
session_regenerate_id(true);
session_regenerate_id(true);