我正在建立一个网站,其全部目的本质上是一个登陆页面。当用户填写正确的表格时,该页面将创建一个 cookie。为了处理 cookie,我使用 this jquery plugin.
我的问题是,我有一个单独的网站,只有当用户拥有第一个网站(登陆页面)的 cookie 时才能查看该网站。到目前为止,在我的测试中,我一直遇到麻烦,因为我在登陆页面设置的 cookie 没有出现在其他网站上。 登陆页面正在本地主机上进行测试,但要求用户在查看之前拥有 cookie 的网站已在互联网上运行。
以下是我设置 cookie 的方法:
$('#submit')[0].addEventListener("click", $.cookie("test-cookie", "test-value"));
然后,在另一个站点我有类似的东西来检查 cookie:
var cookie = $.cookie("test-cookie");
if (cookie != null && cookie != "") {
console.log("TRUE");
} else {
window.location = "http://www.thelandingpagesite.com";
}
现在,我不确定问题是否出在 cookie 上(我不知道它们是否可以在站点之间轻松传输,据我所知,它们存在于用户计算机上),或者是否我只是设置错误了。任何帮助将不胜感激!谢谢。
最佳答案
据我所知,一个网站 (www.example.com) 无法从另一个网站 (www.Second-example.com) 的浏览器检索 Cookie。
如果允许这样做,这将是一个重大的安全漏洞,因为其他人很容易窃取您的 cookie 并访问您的帐户和个人详细信息。
恐怕您将不得不使用 cookie 以外的其他机制。
您可以按照您在另一个答案的评论中建议的方式存储他们的 IP。请注意,该 LAN 上的任何人都可以访问该页面...例如,如果学校的学生填写了您的表格...整个学校都可以访问您试图限制的页面。
关于javascript - 站点之间的 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11941411/