Bug #1107

URL-Schema-Normalisierung auf www.opencaching.de defekt?

Von following vor 10 Monaten hinzugefügt. Vor 9 Monaten aktualisiert.

Status:erledigt% erledigt:

100%

Priorität:2 mittel
Zugewiesen an:-
Zielversion:Version 3.1.5
Ticket Referenz: Kategorien:bilder

Beschreibung

Das hier sollte eigentlich nicht nötig sein, weil thumbs.php weiter unten per use_current_protocol das aktuelle Schema einsetzt - http oder https, je nachdem wie das Script aufgerufen wurde. Dürfte also keine http-Bildadresse auf einer https-Seite ausspucken.

Gibt es einen Beispielfall, in dem das Problem auftrat?


Zugehörige Tickets

Beziehung mit OC Entwicklung - Bug #1114: Seite bei Bildgalerie von Loggenden nicht mehr sicher erledigt

Zugehörige Revisionen

Revision 65038b0f
Von following vor 10 Monaten hinzugefügt

fix url scheme of cache pic gallery overlay images; updates #1107

Revision 87e9171d
Von teiling88 vor 10 Monaten hinzugefügt

Merge pull request #582 from following5/cachepix-url

fix url scheme of cache pic gallery overlay images; updates #1107

Historie

#1 Von teiling88 vor 10 Monaten aktualisiert

Jede Darstellung eines Thumbs inkl. Overlay.

#2 Von following vor 10 Monaten aktualisiert

Auf meinem Entwicklersystem kann ich das nur für einen einzigen Fall nachvollziehen, nämlich die Overlays bei Bildern in der Cachebeschreibung. Die sind von deinem beiden Fixes allerdings gar nicht betroffen, sie werden in viewcache.php und viewcache.tpl verarbeitet.

Alles andere funktioniert auf meinem Entwicklersystem auch ohne diese Zeile ...

$r['thumb_url'] = str_replace('http://', 'https://', $r['thumb_url'])

... und ohne das "replace" in res_logpicture.tpl. Wenn ich die Seite mit https aufrufe, werden https-Bild-URLs erzeigt, sonst http-URLs. Beides sowohl bei den Thumbnails und bei den Overlays, und unabhängig davon, ob in der pictures-Tabelle eine http- oder eine https-URL steht. So sollte es sein.

use_current_protocol() verwendet URL-Settings, die abhängig von den Einstellungen in config2/settings.inc.php initialisiert werden. Könnte also ein Problem mit den Settings auf dem Produktivsystem sein.

Tritt das Problem auf deinem Entwicklersystem auf?

#3 Von following vor 10 Monaten aktualisiert

use_current_protocol() macht übrgens deshalb kein einfaches replace('http://', 'https://', $url), weil die Bild-URLs auf eine andere OC-Webseite zeigen können. Die OCDE-Datenbank ist darauf ausgelegt, Inhalte von verschiedenen OC-Seiten ("Knoten") speichern; auch in der pictures-Tabelle gibt es dafür das node-Feld für die Node-IDs. Vgl. #840; OC.nl und OC.ro laufen z.B. bislang mit http.

Auf den OC.de-Entwicklersystemen enthält die pictures-Tabelle z.B. auch www.opencaching.de-Bilder mit entsprechender Node-ID.

(Das ist aber auch noch nicht zuende entwickelt - auch für die Bilder von anderen Knoten kann eine Normalisierung des URL-Schemas nötig sein. Das ließe sich so oder so per OKAPI lösen.)

#4 Von following vor 10 Monaten aktualisiert

Alternativvorschlag: Wir schaffen die URLs in der Tabelle "pictures" komplett ab und speichern dort nur noch Dateinamen. Die URLs kann man dynamisch erzeugen, abhängig von der Node-ID.

Das lässt sich machen, ohne dass irgendwelche last_modified-Felder verändert werden.

#5 Von following vor 10 Monaten aktualisiert

Alternativvorschlag: Wir schaffen die URLs in der Tabelle "pictures" komplett ab und speichern dort nur noch Dateinamen.

Wäre allerdings ne Großoperation, die sich bis durch OKAPI und XML-Interface zieht und vorerst keinen weiteren Nutzen bringt. use_current_protocol() auf www.opencaching.de zu reparieren fänd ich besser. ;)

#6 Von following vor 9 Monaten aktualisiert

  • Thema wurde von Fehlerhafte thumbs.php-Einbindung (?) zu URL-Schema-Normalisierung auf www.opencaching.de defekt geändert

#7 Von following vor 9 Monaten aktualisiert

  • Beziehung mit Bug #1114: Seite bei Bildgalerie von Loggenden nicht mehr sicher wurde hinzugefügt

#8 Von following vor 9 Monaten aktualisiert

  • Thema wurde von URL-Schema-Normalisierung auf www.opencaching.de defekt zu URL-Schema-Normalisierung auf www.opencaching.de defekt? geändert

Dieser Fix hat funktioniert: Bei den beiden angehängten Bildern von OC1170F wird das Schema nun von "http" in "https" gewandelt.

Nun verstehe ich nicht mehr, warum e19a185 und 8c90ff1 nötig waren. Wenn use_current_protocol in viewcache.php und cache.class.php funktioniert, dann sollte es auch in thumbs.php und logpic.class.php funktionieren.

@teiling88:
Könnte es sein, dass das eigentliche Problem #1114 und PR #582 war und dass deine beiden Commits effektiv gar nichts geändert haben? Oder hat sich seitdem etwa an den OC-Settings auf dem Produktivserver geändert, was https und/oder die Seiten-URL betrifft?

Kannst du e19a185 und 8c90ff1 auf dem Produktivsystem mal testweise revertieren und prüfen, ob das Problem wieder auftaucht?

#9 Von teiling88 vor 9 Monaten aktualisiert

dass deine beiden Commits effektiv gar nichts geändert haben

Da ich die live ausprobiert habe kann ich das verneinen.

#10 Von following vor 9 Monaten aktualisiert

Es gab offenbar ein Problem mit den OC-Settings, das inzwischen behoben ist. Siehe https://github.com/opencaching/okapi/issues/474#issuecomment-328481957.

Ich denke wir können die beiden Workarounds wieder ausbauen.

#11 Von teiling88 vor 9 Monaten aktualisiert

Könnte es sein, dass das eigentliche Problem #1114 und PR #582

Habe das überlesen - sorry. Ja das hat das Ursprüngliche Problem behoben. Ich reverte die beiden commits.

#12 Von following vor 9 Monaten aktualisiert

  • Status wurde von neu zu erledigt geändert
  • Zielversion wurde auf Version 3.1.5 gesetzt
  • % erledigt wurde von 0 zu 100 geändert

Danke, nun sollte alles passen.

Auch abrufbar als: Atom PDF