Forum: PC-Programmierung Firefox: unerklärliche Zugriffe auf /service-worker.js im Log


von Ein T. (ein_typ)


Lesenswert?

Hallo Forum,

aus Spaß an der Freude lerne ich gerade Go (Golang) und versuche mich an 
einem HTTP-Server. Der soll primär statische Seiten ausliefern und unter 
bestimmten Request-URLs dynamisch erzeugte Inhalte. Zudem soll er im von 
Apache httpd und nginx bekannten Combined Log Format loggen, um die Logs 
mit den gebräuchlichen Werkzeugen analysieren zu können. Das alles 
klappt bereits erstaunlich einfach und beeindruckend performant.

Während die Software bereits weitestgehend läuft, muß ich während meiner 
Tests feststellen, daß der Mozilla Firefox bei jedem Seitenaufruf den 
URL "/service-worker.js" abzurufen versucht. Dieses Verhalten sehe ich 
jedoch bei keinem anderen Browser (Google Chrome, KDE Konqueror). Auch 
beliebte Kommandozeilenclients wie curl(1), wget(1), w3m(1) und Perl GET 
versuchen diesen URL nicht abzurufen -- logisch, die können ohnehin kein 
JS.

Was mich dabei allerdings ein wenig ärgert: in den Entwicklertools 
meines Firefox werden diese Requests unter "Netzwerkanalyse" nicht 
angezeigt.

Gleichzeitig übermittelt der Firefox anscheinend auch Cookies zum Thema 
CSRF, die ich mir jedoch noch nicht näher angeschaut habe. Sie scheinen 
allerdings immer denselben Inhalt zu haben, und tauchen zumindest in der 
Netzwerkanalyse als "Anfragekopfzeilen" auf.

Beides -- der Abruf der "/service-worker.js" und auch die Cookies sehe 
ich auch in Wireshark und tcpdump(1).

Über diese beiden Verhaltensweisen des Mozilla Firefox bin ich zwar 
nicht sonderlich beunruhigt, aber ich finde leider keine Dokumentation 
dazu -- vermutlich suche ich falsch. Weiß jemand etwas darüber und kann 
mir bitte einen Link zu einer Dokumentation oder zumindest zu passenden 
Stichworten für eine eigene Suche zukommen lassen? Vielen Dank!

PS: Sollten Dir irgendwelche "Salamischeiben" fehlen, stehe ich 
natürlich gern für Deine Rückfragen zur Verfügung. Dankeschön!

Edit: Huch, ich sehe gerade, ich bin im flashcen Forum gelandet. Könnte 
einer unserer Moderatoren bitte so freundlich sein, diesen Thread in 
"PC-Programmierung" zu verschieben? Dankeschön!

: Verschoben durch Moderator
von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

also mit den Suchbegriffen "firefox" und "service-worker.js" kommt man 
schonmal hier hin:
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers

Konkret: 
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#registering_your_worker
1
Registering your worker
2
3
The first block of code in our app's JavaScript file — app.js — is as follows. This is our entry point into using service workers.

Wird wohl durch das dynamische zeugs ausgelöst werden.
Klar, wenn Chrome, etc. das anders lösen, dann ist das schon klar, das 
du das da nicht beobachtest.

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Einfach so von sich aus sollte der Firefox nicht versuchen, den Namen 
eines Service-Worker-Javascript-Files zu erraten.

Mach mal deine Seite auf, öffne die Firefox-Entwickler-Tools, und schau 
in der "Anwendung"-Registerkarte nach, ob da irgendwas "von Früher" 
installiert ist.

Könnte sein, dass der Firefox schon einen Service-Worker für 
"localhost"(*) hat, und versucht den zu aktualisieren.
Auf der Karte kannst du den dann auch gleich rauswerfen.

*) Service-Worker setzen eigentlich https voraus, mit Ausnahme von 
"localhost".

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Könnte auch ein Plugin von Firefox sein, was grundsätzlich auf allen 
Seiten nach einem Service Worker sucht und diesen Dateinamen als 
Default-Wert verwendet.

von Ein T. (ein_typ)


Lesenswert?

Kaj G. schrieb:
> also mit den Suchbegriffen "firefox" und "service-worker.js" kommt man
> schonmal hier hin:
> 
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers

Vielen Dank für Deine Antwort und den Link, aber am dort Beschriebenen 
liegt es leider nicht. Trotzdem ist der Link sehr interessant, prima!


Εrnst B. schrieb:
> Einfach so von sich aus sollte der Firefox nicht versuchen, den Namen
> eines Service-Worker-Javascript-Files zu erraten.

Just dies wäre auch meine Vermutung gewesen... das ist ja dann auch der 
Anlaß für meine Verwunderung und diesen Thread.

> Mach mal deine Seite auf, öffne die Firefox-Entwickler-Tools, und schau
> in der "Anwendung"-Registerkarte nach, ob da irgendwas "von Früher"
> installiert ist.
>
> Könnte sein, dass der Firefox schon einen Service-Worker für
> "localhost"(*) hat, und versucht den zu aktualisieren.


Ach schade, das kam zu spät, aber Deine Vermutung scheint in die 
richtige Richtung zu gehen. Zwischenzeitlich bin ich über 
"about:serviceworkers" gestolpert und habe dort erst einmal alle dort 
gelisteten Service Worker hinausgeworfen ("Abmelden"). Seitdem zeigt der 
Firefox das Verhalten mit dem /service-worker.js nicht mehr... puh!

> *) Service-Worker setzen eigentlich https voraus, mit Ausnahme von
> "localhost".

Naja, eine Webapp in Entwicklung... die läuft natürlich auf dem lokalen 
Horst, aber danke für den Tipp, das ist gut zu wissen. Immerhin bin ich 
durch den Tipp von Kaj G. jetzt etwas besser im Bilde, was diese Dinger 
machen, bisher kannte ich das nur im Zusammenhang mit PWAs.

Ben B. schrieb:
> Könnte auch ein Plugin von Firefox sein, was grundsätzlich auf allen
> Seiten nach einem Service Worker sucht und diesen Dateinamen als
> Default-Wert verwendet.

Das könnte natürlich sein, ist in meinem Fall aber unwahrscheinlich -- 
was Du aber natürlich nicht wissen kannst. Denn mein Arbeits-Firefox ist 
aus Gründen der Performance und zur Vermeidung komischer Effekte nur mit 
einem einzigen Plugin versehen, nämlich dem OpenH264-Videocodec und hat 
darüber hinaus nur noch den Adblocker Ultimate.

Dieses komische Verhalten mit dem CSRF-Cookie kann ich mir allerdings 
immer noch nicht erklären, aber das muß ich noch ein bisschen 
beobachten. Woher diese Cookies kommen, ist mir unerklärlich -- meine 
WebApp generiert bis dato nur pures HTML, ohne JavaScript, Ajax, 
Formulare oder sonstwas...

Lieben Dank für Eure Zeit und Eure Antworten, Ihr habt mich in jedem 
Fall ein gutes Stück weitergebracht, wo ich hinschauen kann!

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Ein T. schrieb:
> Dieses komische Verhalten mit dem CSRF-Cookie kann ich mir allerdings
> immer noch nicht erklären, aber das muß ich noch ein bisschen
> beobachten. Woher diese Cookies kommen, ist mir unerklärlich

suche: Firefox csfr cookie
https://infosec.mozilla.org/guidelines/web_security#table-of-contents
https://infosec.mozilla.org/guidelines/web_security#csrf-prevention
https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html

von Sheeva P. (sheevaplug)


Lesenswert?

Ein T. schrieb:
> Dieses komische Verhalten mit dem CSRF-Cookie kann ich mir allerdings
> immer noch nicht erklären, aber das muß ich noch ein bisschen
> beobachten. Woher diese Cookies kommen, ist mir unerklärlich -- meine
> WebApp generiert bis dato nur pures HTML, ohne JavaScript, Ajax,
> Formulare oder sonstwas...

So etwas kenne ich von lokal betriebenen Webapplikationen, aber dann 
sollten diese Kekse nur an Deinen localhost (Container, VM...) geschickt 
werden, war jedenfalls bei mir so -- YMMV!

von Ein T. (ein_typ)


Lesenswert?

Sheeva P. schrieb:
> So etwas kenne ich von lokal betriebenen Webapplikationen,

Dankeschön, das war's, in meinem Fall Jupyter.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.