Domanda

Questo può sembrare un gioco da ragazzi, ma non riesco a trovare un modo per farlo che non sia considerato un problema di sicurezza (a parte i modi ovvi) ...

Quindi, voglio creare un componente aggiuntivo per Firefox da utilizzare con il mio team. Fondamentalmente sarà un'icona della barra di stato che ci informerà se il cookie di autenticazione per il nostro sito di strumenti è scaduto, quindi possiamo dire senza perdere alcun lavoro attualmente nel browser.

Inizialmente pensavo di poter fare in modo che il componente aggiuntivo controllasse il cookie, ma questo sembra essere una seccatura enorme per un'idea così semplice. Poi mi è venuto in mente ... DUH ... che potevo semplicemente aggiungere l'aggiunta per provare ad accedere alla pagina principale del nostro sito. Se ottiene un & Quot; Accesso negato & Quot; risposta, può mostrare l'icona per " Non registrato " ;, ma se ottiene qualcos'altro, può mostrare " Accesso " ;.

Tuttavia, tutti i tentativi di farlo con AJAX si stanno dimostrando difficili quasi quanto i miei tentativi sui cookie.

Esiste un modo semplice, preferibilmente con javascript, ma in XUL altrimenti,

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

dove " pingURL " sarebbe il metodo di " andando " all'URL e ottenere la risposta?

È stato utile?

Soluzione

Esattamente perché consideri i cookie una seccatura enorme? Sarebbe senza dubbio più veloce e probabilmente più semplice da implementare. Leggere i cookie da Chrome è semplice e ben documentato . Chiedi aiuto se non riesci a capire come analizzare il cookie.

Altri suggerimenti

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

Questo dovrebbe funzionare ... Chiama con " checkAccess (' http://example.com ', function (ready) {}); " come esempio in cui ready è un valore booleano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top