背景:
我正在使用 javascript 开发网站跟踪器。以下是它的工作原理:
1) 用户访问跟踪脚本在“anydomain.com”上的任何域。该脚本在后台对我的主域“masterdomain.com”进行了成功的 ajax 调用。
2) 当“masterdomain.com”收到请求时,运行以下伪代码。它通过检查现有会话来工作,如果一个不存在,它会创建一个新会话。
第一次调用似乎很好,因为我能够在响应中收到会话 ID。但是,对“masterdomain.com”的每次连续调用都会创建一个新会话。AKA 服务器找不到“应该是”现有会话。
示例伪代码:
if(session exists)
{
// update timestamp for session
}
else
{
// set a new session for visitor
}
// load template
api(array("accepted"=>session_id),callback);
一些速览:
1)这似乎不是同源问题(因为我能够与服务器正常通信)。
2)我已经尝试过使用 cookie/会话,但似乎都不起作用。
3)我正在使用codeigniter(会话设置为不会在页面关闭时过期)。我也尝试过使用/不使用数据库会话)。
如果每次在服务器上加载页面(不使用 IP)时,如果有另一种方法来唯一标识用户,也可以解决此问题。
任何帮助都将不胜感激,因为我正准备把剩下的头发从头上扯下来!!!!:(