chris: Problem mit location.href und SSL

Hallo,
ich habe ein problem bei der Verwendung von window.location.href mit einer https-Adresse.
Wenn ich die Seite über einen normalen Link aufrufe, funktioniert alles ganz normal.
Wenn ich sie aber mit Javascript via window.location.href='https://...' aufrufe, behauptet Firefox es seien unsichere Elemente enthalten (nicht der Fall).

Wie kann ich das umgehen?

Gruß
--Chris

  1. Hallo,

    Wenn ich sie aber mit Javascript via window.location.href='https://...' aufrufe, behauptet Firefox es seien unsichere Elemente enthalten (nicht der Fall).

    bist du ganz sicher? Als "unsicher" bezeichnet ein Browser, wenn er eine Seite über eine SSL-Verbindung abruft, alle eingebundenen Ressourcen, die *nicht* über SSL übertragen werden.
    Wenn deine über https: angeforderte Seite also z.B. Bilder, Stylesheets oder Javascripts über das normale ungesicherte HTTP-Protokoll anfordert, sind das in dem Kontext "unsichere" Elemente - auch wenn von ihnen keine direkte Gefahr ausgeht.

    Wie kann ich das umgehen?

    Indem du alle benötigten Ressourcen auch über https: erreichbar machst und so anforderst.

    So long,
     Martin

    --
    Die letzten Worte des Architekten:
    Mir fällt da gerade was ein...
    1. Hallo Martin,

      Wenn ich sie aber mit Javascript via window.location.href='https://...' aufrufe, behauptet Firefox es seien unsichere Elemente enthalten (nicht der Fall).

      bist du ganz sicher? Als "unsicher" bezeichnet ein Browser, wenn er eine Seite über eine SSL-Verbindung abruft, alle eingebundenen Ressourcen, die *nicht* über SSL übertragen werden.
      Wenn deine über https: angeforderte Seite also z.B. Bilder, Stylesheets oder Javascripts über das normale ungesicherte HTTP-Protokoll anfordert, sind das in dem Kontext "unsichere" Elemente - auch wenn von ihnen keine direkte Gefahr ausgeht.

      Aber eine indirekte Gefahr, zumindest bei Stylesheets und Scripts: SSL dient ja auch zur Authentifizierung des Gegenübers, d.h. der Client weiß bei einer HTTPS-Seite, dass diese wirklich zu dem Server gehört - bei HTTP-Seiten sind dagegen Man-in-the-Middle-Angriffe sehr einfach zu realisieren, d.h. jemand auf dem Übertragungsweg kann den Inhalt aller per HTTP eingebundenen Dateien modifizieren. Wenn nun ein JavaScript per HTTP in eine HTTPS-Seite eingebunden wird, dann kann es ja mit der HTTPS-Seite anstellen, was es will, d.h. im Endeffekt wird HTTPS durch dieses HTTP-JavaScript komplett untergraben. Bei Stylesheets gibt's mit Sicherheit auch Dinge, die man ausnutzen kann, evtl. sogar bei Bildern (man suggeriert durch den Bildinhalt dem Benutzer etwas, was nicht stimmt).

      Indem du alle benötigten Ressourcen auch über https: erreichbar machst und so anforderst.

      Daher ist dieser Tipp sehr, sehr sinnvoll.

      Viele Grüße,
      Christian

      --
      "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup