Mozilla will Erweiterungen in Firefox 17 sicherererer machen

Kein Kommentar Autor: Jürgen (jdo)

Firefox LogoZu viel Sicherheit kann man eigentlich nie genießen und deswegen will Mozilla die Sicherheit bezüglich Add-Ons in Firefox 17 verbessern. Genau genommen sollen die Spielplätze der Erweiterungen und des Browser strikter getrennt werden. Scripte auf Webseiten können dann nur noch auf Daten der Add-Ons zugreifen, wenn sich diese in einer Whitelist befinden. Als die Nutzung von gemeinsam genutzten Objekten wird limittiert. Vorgeschlagen wurde das bereits im Jahre 2010 und Bug 553102 wurde erstellt.

Beginnend mit Firefox 15 wird der Browser bereits eine Fehlermeldung anzeigen. Das Script wird aber weiterhin arbeiten. Die Meldung dient nur als Erinnerung für Entwickler von Add-Ons. Ab Firefox 17 ist die Whitelist dann Pflicht.

Wie das genau funktioniert, erklärt Jorge Villalobos in einem Blog-Eintrag. Wer ein Objekt im Content benutzen möchte, der würde derzeit in etwa so vorgehen:

var sharedObject = { foo : "Hello!" };
contentWindow.wrappedJSObject.sharedObject = sharedObject;

Ein Script könnte die Daten dann ungefähr so anzapfen:

alert(window.sharedObject.foo);

Nun würde ein Popup mit dem Text “Hello!” auf der Seite erscheinen. Ab Firefox 17 geht das nicht mehr. Um es wieder funktionierend zu machen, musst Du wie folgt in Deinem Add-On-Code vorgehen:

var sharedObject = { foo : "Hello!", __exposedProps__ : { foo : "r"} };
contentWindow.wrappedJSObject.sharedObject = sharedObject;

Das  __exposedProps__ ist dabei der springende Punkt, beziehungsweise die Whitelist, die Firefox mitteilt, dass alles in Ordnung ist und foo benutzt werden kann. Dieser Wert lässt sich als “r” (read-only / nur lesbar), “w” (write-only / nur schreibbar) oder “rw” (lesen und schreiben) angeben. Im Regelfall wird man “r” benutzen.

Entwickler sollten im Hinterkopf behalten, dass dies nur Add-Ons betrifft, die gemeinsame Objekte mit dem Inhalt verwenden müssen. Wer lediglich Zahlen oder Strings übergibt, brauche sich keinen Kopf zu machen.

Dennoch sei allen Entwickler von Erweiterungen angeraten, ihre Programme mit Firefox 15 (derzeit Beta) ausgiebig zu testen und nach der Fehlermeldung in der Konsole Ausschau zu halten. Danach könne man gleich mit Firefox 17 (nightly) weitermachen.

Wer seine Erweiterungen mit Hilfe der Add-ons SDK schreibt, sollte sich hier die neueste Version holen und dann testen. Du musst wahrscheinlich gar keinen Code ändern, weil die SDK das für Dich übernehmen wird.




 Alle Kommentare als Feed abonnieren

Kommentare sind geschlossen.