Dual-protocol-https-Implementation

Hier geht es um die Programmierung von Opencaching.de - User mit Erfahrungen im Bereich PHP, MySQL, HTML, JavaScript, CSS werden hier ständig gesucht
Antworten
following

Die [url=http://forum.opencaching.de/http://localhost//viewtopic.php?t=31.msg54806#msg54806]https-Implementation[/url] stellt sich als recht kompliziert heraus. Ich stelle mal kurz vor was ich mir dazu überlegt und auch schon teilweise realisiert habe, für den Fall dass hier irgendein https-erfahrener Entwickler seinen Senf dazu geben möchte. Nicht dass ich irgendwo einen Denkfehler mache.

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 diese Fälle habe ich mir überlegt, in der Konfiguration sinngemäß eine domainabhängige Einstellung für das "default-Protokoll" vorzusehen, http oder https. Das würden wir zunächst mal bei http belassen, also in diesem Daten würden immer http-Adressen generiert. Wenn wir sicher sind dass https 100%ig funktioniet und so bleiben wird, könnte man es evt. umstellen auf https.

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?
Zuletzt geändert von following am 13.09.2015, 20:27, insgesamt 1-mal geändert.
Antworten