Tim*_*Tim 5 php cookies google-chrome
我有一个网站,它使用 www.example.com 作为标准页面,使用 secure.example.com 作为 HTTPS。我试图在用户登录时设置一个 cookie,该 cookie 在该站点的 HTTP 和 HTTPS 版本上都有效。
我通过将路径设置为“/”并将域设置为“.example.com”来做到这一点。这在 Firefox 和 Internet Explorer 中工作正常,但在 Chrome 中,cookie 仅适用于设置它的站点版本(http://www.example.com或https://secure.example.com)
这是一个错误还是我做错了什么?如果它是一个错误,是否有解决方法?
cookie 是由 PHP 在标头中设置的。
setcookie("login",base64_encode($email."::".md5($password)),2840184012,"/",".example.com");
Run Code Online (Sandbox Code Playgroud)
您不能同时为 HTTP 和 HTTPS 设置 cookie。您需要设置两个单独的 cookie,一个用于 HTTP,一个用于 HTTPS:
setcookie("login", base64_encode($email."::".md5($password)), 2840184012, "/", ".example.com");
setcookie("login", base64_encode($email."::".md5($password)), 2840184012, "/", ".example.com", true);
Run Code Online (Sandbox Code Playgroud)
这仅在您在https://secure.example.com 中设置 cookie 时才有效,因为您只能通过 HTTPS 设置安全 cookie。
哦,顺便说一句:不要不存储在cookie中的认证信息!请改用曾经有效的身份验证令牌。
| 归档时间: |
|
| 查看次数: |
4158 次 |
| 最近记录: |