Die Grundanforderung ist: Wir wollen die Seite bis auf weiteres komplett dual-protocol laufen lassen, um sicherzugehen dass wir keine nicht-SSL-fähigen Tools aussperren, bzw. Tools die in nicht für SSL konfigurierten Umgebungen eingesetzt werden. Außerdem haben wir dann nicht den Druck, dass https aus dem Stand heraus 100% funktionieren muss.
Grundsätzlich lässt sich das lösen, indem immer relativ bzw. innerhalb des aktuellen Protokolls verlinkt und weitergeleitet wird. Gleiches scheint auch nötig zu sein bei der Einbindung von Google-Karten, die funktionieren sonst nicht.
Sonderfälle treten z.B. dann auf, wenn eine erzeugte URL nicht nur temporär zur Anzeige einer Seite oder eines eingebetteten Objekts dient, sondern längerfristig gültig ist. Dann spielt auch die Konsistenz der exportierten Daten eine Rolle. Dies betrifft
- die Ablage hochgeladener Bilder in der Datenbank; hier wird eine vollständige URL gespeichert,
- per OKAPI, XML-Interface, GPX usw. exportierte Daten
- Links in verschickten Emails, hier gibt es gar keinen Bezug zu einer laufenden Sitzung
- alles was ich noch übersehen habe ...
Für das Login habe ich mir überlegt, dass man hier per Domain-Konfiguration https erzwingen kann, also alle Login-Formulare würden dann auf https umleiten. Das kann man einschalten, wenn klar ist dass es bei allen Benutzern problemlos funktioniert.
Der Internet Explorer hat zumindest in älteren Versionen die Krankheit, in der Defaultkonfiguration eine Sicherheitswarnung abzusondern wenn in einer https-Seite http-Elemente (z.B. Bilder) eingebettet sind. Hier versuche ich, für allen lokalen Content passende Links zu erzeugen; wenn z.B. in einer Cachebeschreibungen Bilder per src="http://www.opencaching.de" eingebettet sind, wird das ersetzt durch https://... falls die Seite per https abgerufen wird. Wenn allerdings externe http-Links vorhanden sind kann man wohl nix machen, dann müssen die Leute ihren Browser besser konfigurieren. Das blöde ist halt, dass solche Warnungen unbedarfte Nutzer verunsichern können. Zum Glück haben wir nur wenige Prozent IE-User.
Außerdem gibt es noch das Garmin-Plugin, das auf eine vollständige URL inkl. Protokoll registriert ist. Das versuche ich erst mal zu lösen, indem das Garmin-Popup immer im http-Modus aufgeht. Ansonsten müsste man hier eine Doppelregistrierung vorsehen.
Passt das soweit? Any comments?