Gewusst wie: Debuggen von Firefox-Erweiterung

Ich habe in der Firefox-Erweiterung Entwicklung vor kurzem, und lief in einige Probleme:

So, in browser.xul ich diese Zeilen:

<overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    <script src="jquery.js" />
    <script src="global.js" />
</overlay>

So, in global.js ich habe Zugang zu allen jQuery-Zeug, und versuchen zu laden, ein einfaches Skript gibt es:

var inner = null;
var o = function () {
    var prefManager = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
    return {
        init : function () {
            alert('here loading inner..');
            $.get('http://www.example.com/script.js', function(d) {
                alert('loaded inner script!');
                inner = d;
                gBrowser.addEventListener("load", function () {
                    alert('onload');
                }, false);
            }).error(function(e) { alert('error loading inner..'); setTimeout(o.init,1000); });
            $(this).ajaxError(function() { alert('ajaxError'); });
        }
    }
}
window.addEventListener("load", o.init, false);

Aber noch bekomme ich einen "geladen, innere Drehbuch", noch ein "Fehler beim laden des inneren" alert.. Und ich sehe nicht die Fehler-Konsole anmelden, werden alle Fehler von der extension... ich nehme an, die $.get ist still nicht wegen einigen Einschränkungen vielleicht, aber gibt es eine richtige Weg, um das Debuggen der Fehler normal? Die Fehler-Konsole ist leise für die Erweiterung, es zeigt nur Fehler, die von den Internetseiten

  • Alex, ich hoffe wirklich, dass Sie sich nicht tatsächlich bewerten die Ergebnisse, dass XHR bekommen als script, richtig?
  • ja, aber vor allem, weil das addon gemacht werden "autoupdatable" - ich weiß, es ist schlecht, dass ich dies nie tun, im Alltag, aber in diesem speziellen Projekt, ich musste einfach
  • Der Punkt ist, dass, wenn Sie tun, dann Sie sind die Einführung einer Sicherheitslücke in den browser. Wie jemand mit einem browser auf einem nicht vertrauenswürdigen WLAN-Verbindung, zum Beispiel, erlaubt die Wi-Fi-router, um zu injizieren, beliebigen Skript in chrome. Zumindest die Verwendung von SSL hier!
  • ich sehe, aber das bedeutet, dass auch die Skripte aus stackoverflow.com kann ersetzt werden durch beliebigen, da Sie geladen sind, ohne ssl zu
  • Ja, und vermutlich die stackoverflow.com die Betreuer kümmern sich nicht um zufällige wifi-Operatoren können ausgeführt random script vorgibt zu sein stackoverflow... oder sogar die Identität der gesamten Website. Wenn Sie es Taten, Sie würden laufen, Ihre Website über SSL.
  • das erklärt es, danke
  • halten Sie es für eine Sicherheitslücke zu Spritzen, ein Skript in eine Webseite mit der <script> tag (unabhängig davon, ob dies von einer Erweiterung oder auch der HTML-Code der Seite selbst), die nicht SSL verwenden Sie für die Skript-url? Da so ein Beispiel wird innerhalb der web-Seite sandbox, vermutlich der browser guard gegen unseriöse web-Seiten. Natürlich kann der browser nicht verhindern, dass phishing durch script-injection in web-Seite in der sandbox. Phishing-und script-injection durchgeführt werden kann, aus dem HTML auch, so deuten Sie damit alle urls werden sollte https?
  • Die Injektion eines nicht-SSL-Skript ist offensichtlich eine XSS-Gefahr auf den Teil der Seite. Es ist keine Sicherheitslücke für den browser per se, es sei denn, Sie tun es für SSL-Seiten, in dem Fall ist es eine Sicherheitslücke auf, dass Sie die Einführung von XSS-Fehler in Websites. Aber mein Punkt war, dass die Injektion so ein script in den browser chrome ist eine kritische Sicherheitslücke (definiert als "ermöglicht es, die Angreifer zum ausführen von beliebigen Binär-code auf dem computer des Opfers").
  • danke, wollte ich nur bestätigen, dass wenn eine Erweiterung ist die Injektion einer nicht-SSL-Skript in einer nicht-SSL Seite, das ist nicht eine Bedrohung, gegen die browser-sandbox für Webseiten (ungeachtet der bugs in der sandbox). Also ich nehme an, Mozilla wäre nicht die Stirn Runzeln auf dieser. Ich fragte, weil meine Erweiterung derzeit nicht, dass, weil, dass 3rd-party-Seite lädt nicht-SSL-Skripts, so be mine von SSL wäre nicht mehr Sicherheit ein.
  • Ja, die Injektion nicht-SSL-Zeugs in einen nicht-SSL-Seite nicht wirklich zu machen es schlimmer; die Tür bereits weit offen. 😉

InformationsquelleAutor Alex K | 2011-07-28
Schreibe einen Kommentar