Frage

Das mag wie ein Kinderspiel erscheinen, aber ich kann nicht einen Weg, dies zu tun finden, die kein Sicherheitsproblem (andere als die offensichtlichen Wege) betrachtet wird ...

Also, ich möchte ein Add-on bauen für Firefox mit meinem Team zu verwenden. Grundsätzlich wird es ein Symbol der Statusleiste sein, dass Sie uns wissen, ob das Authentifizierungscookie für unsere Werkzeuge Website abgelaufen ist, so können wir sagen, ohne jede Arbeit, die derzeit im Browser zu verlieren.

Zuerst dachte ich, ich könnte die Add-on, das Cookie überprüfen, aber dies scheint ein riesiger Aufwand für eine so einfache Idee. Dann fiel mir ein ... DUH ..., dass ich nur das Add auf Versuch haben könnte die Hauptseite unserer Website zuzugreifen. Wenn es eine „Zugriff verweigert“ Antwort erhält, kann sie das Symbol zeigen, für „nicht angemeldet“, aber wenn es etwas anderes bekommt, kann es zeigen „Signed In“.

Doch alle Versuche, dies zu tun mit AJAX erweisen sich fast so schwierig, wie meine Cookie Versuche sein.

Gibt es eine einfache Art und Weise, mit Javascript vorzugsweise, aber in XUL anders zu sagen,

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

Dabei steht „pingURL“ wäre die Methode der „going“ auf die URL und bekommen die Antwort?

War es hilfreich?

Lösung

Genau, warum halten Sie Cookies ein riesiger Aufwand? Das wäre zweifellos schneller und wahrscheinlich einfacher zu implementieren. Cookies von Chrom zu lesen ist einfach und gut dokumentiert . Bitten Sie um Hilfe, wenn Sie nicht herausfinden können, wie das Cookie zu analysieren.

Andere Tipps

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

Das sollte funktionieren ... Rufen Sie einfach mit „checkaccess ( ' http://example.com ', function (bereit){});" als Beispiel, wo bereit ein Boolescher Wert ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top