【发布时间】:2011-05-18 21:18:53
【问题描述】:
问题originally posted on Webmasters,建议移到这里。
我托管一个网络服务,并为我的成员提供一个 Javascript 书签,它从我的服务器加载一个 JS 脚本。但是,客户端必须登录才能接收 JS 脚本。这几乎适用于所有人。但是,一些用户在已知可以为其他人工作的设置(即浏览器/操作系统)上遇到以下问题:当他们通过 javascript 书签从我的服务器请求脚本时,他们的 cookie 来自我的服务器不包含在请求中,因此它们始终“未经过身份验证”。
我通过以下方式提出请求:
var myScript = eltCreate('script');
myScript.setAttribute('src','http://myserver.com/script');
document.body.appendChild(myScript);
在困惑的绝望中,我将脚本页面更改为简单地输出“我的 cookie 有 [x] 个元素”,其中 [x] 是 count($_COOKIE) on http://myserver.example.com。如果该用户子集使用上述小书签中编码的方法请求脚本,则消息显示“我的 cookie 有 0 个元素”。当他们直接在浏览器中访问 URL 时,消息显示“我的 cookie 有 7 个元素”。
到底发生了什么?!更重要的是,我将如何解决这个问题?
【问题讨论】:
标签: javascript cookies bookmarklet