所以我正在创建一个用户必须登录的网站。如果用户希望该站点记住他的登录信息,我会设置一个cookie来记住这些数据。但是,cookie似乎是为网站www.mysite.com设置的。这似乎意味着如果我使用地址mysite.com(没有www。)访问我的网站,则无法再访问cookie。如何使两个站点都可以访问任一站点上设置的cookie?
答案 0 :(得分:3)
在我看来,如果您允许用户“记住”他们的登录信息,那么您将希望对如何/在何处/为何/何时/时保持具体控制,这包括维护安全连接。
对于涉及任何类型登录的项目,我始终确保拥有相应的SSL证书和安全连接,然后检查他们用于访问网站的URL并重定向以确保它们保留在我的安全域中。例如,我检查www。和https前缀,并始终重定向到https://www.domain.com ...只是我的两分钱。
编辑:回应评论。真的很粗糙,但是这样的事情:
if (($_SERVER['SERVER_PORT'] != '443') || ($_SERVER['HTTPS'] != 'on') || (!strstr ($_SERVER['HTTP_HOST'], 'www'))) {
header ("Location: https://www.mydomain.com");
exit();
}
第二次编辑:我粗略输入的代码中有两个错误。
答案 1 :(得分:2)
为 .mysite.com 设置Cookie,而不是 www.mysite.com 。这样,cookie将识别公共域后缀并与两个URL兼容。
答案 2 :(得分:1)
您不想同时使用它们。选择一个,它也适用于SEO。我个人只是通过htaccess重定向到www并保持标准。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]