Pregunta

Esto puede parecer obvio, pero no puedo encontrar una manera de hacer esto que no se considere un problema de seguridad (aparte de las formas obvias) ...

Entonces, quiero crear un complemento para que Firefox lo use con mi equipo. Básicamente, será un icono de barra de estado que nos permitirá saber si la cookie de autenticación de nuestro sitio de herramientas ha caducado, para que podamos saber sin perder ningún trabajo actualmente en el navegador.

Al principio pensé que podía hacer que el complemento verificara la cookie, pero esto parece ser una gran molestia para una idea tan simple. Entonces se me ocurrió ... DUH ... que podría tener el complemento para intentar acceder a la página principal de nuestro sitio. Si obtiene un & Quot; Acceso denegado & Quot; respuesta, puede mostrar el ícono para " Not Logged In " ;, pero si obtiene algo más, puede mostrar " Signed In " ;.

Sin embargo, todos los intentos de hacer esto con AJAX están demostrando ser casi tan difíciles como mis intentos de cookies.

¿Hay una manera simple, con javascript preferiblemente, pero en XUL de lo contrario, decir

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

donde " pingURL " sería el método de " going " a la url y obteniendo la respuesta?

¿Fue útil?

Solución

¿Exactamente por qué considera que las cookies son una molestia enorme? Sin duda, eso sería más rápido y probablemente más sencillo de implementar. Leer cookies de Chrome es simple y bien documentado . Solicite ayuda si no puede descubrir cómo analizar la cookie.

Otros consejos

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);
            }
        }
    };
}

Esto debería funcionar ... Simplemente llame con " checkAccess (' http://example.com ', función (listo) {}); " como un ejemplo donde ready es un valor booleano.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top