1

这似乎很容易,但我找不到不被认为是安全问题的方法(除了明显的方法)......

因此,我想为 Firefox 构建一个附加组件以供我的团队使用。基本上它将是一个状态栏图标,让我们知道我们的工具站点的身份验证 cookie 是否已过期,因此我们可以在不丢失浏览器中当前任何工作的情况下进行判断。

起初我以为我可以让插件检查 cookie,但对于这样一个简单的想法来说,这似乎是一个巨大的麻烦。然后我突然想到......呃......我可以让插件尝试访问我们网站的主页。如果它收到“拒绝访问”响应,它可以显示“未登录”图标,但如果它得到任何其他内容,它可以显示“已登录”。

然而,所有使用 AJAX 的尝试都被证明几乎和我的 cookie 尝试一样困难。

有没有一种简单的方法,最好使用 javascript,但在 XUL 中,要说

var url = "http://example.com";
var response = pingURL(url, "blah);
status = (response = "Welcome!") ? "Signed in" : "Not Signed In";

其中“pingURL”将是“去”到 url 并获得响应的方法?

4

2 回答 2

2
function checkAccess(url, callback) {
    var xhr = new XMLHttpRequest();
    xhr.open("GET", url);
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) {
            if (xhr.status == 200) {
                callback(true);
            } else {
                callback(false);
            }
        }
    };
}

这应该工作......只需调用“checkAccess(' http ://example.com',function (ready){});” 例如,准备好是一个布尔值。

于 2009-05-10T06:17:49.540 回答
0

究竟为什么你认为饼干是一个巨大的麻烦?这无疑会更快,并且可能更容易实现。从 chrome 读取 cookie 很简单,并且有据可查。如果您不知道如何解析 cookie,请寻求帮助。

于 2009-05-10T06:44:24.547 回答