Bug #1107

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

Added by following almost 2 years ago. Updated almost 2 years ago.

Status:erledigt% Done:

100%

Priority name:2 mittel
Assignee:-
Target version:Version 3.1.5
Ticket Referenz: Kategorien:bilder

Description

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?


Related issues

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

Associated revisions

Revision 65038b0f
Added by following almost 2 years ago

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

Revision 87e9171d
Added by teiling88 almost 2 years ago

Merge pull request #582 from following5/cachepix-url

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

History

#1 Updated by teiling88 almost 2 years ago

Jede Darstellung eines Thumbs inkl. Overlay.

#2 Updated by following almost 2 years ago

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 Updated by following almost 2 years ago

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 Updated by following almost 2 years ago

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 Updated by following almost 2 years ago

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 Updated by following almost 2 years ago

  • Subject changed from Fehlerhafte thumbs.php-Einbindung (?) to URL-Schema-Normalisierung auf www.opencaching.de defekt

#7 Updated by following almost 2 years ago

  • Related to Bug #1114: Seite bei Bildgalerie von Loggenden nicht mehr sicher added

#8 Updated by following almost 2 years ago

  • Subject changed from URL-Schema-Normalisierung auf www.opencaching.de defekt to URL-Schema-Normalisierung auf www.opencaching.de defekt?

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 Updated by teiling88 almost 2 years ago

dass deine beiden Commits effektiv gar nichts geändert haben

Da ich die live ausprobiert habe kann ich das verneinen.

#10 Updated by following almost 2 years ago

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 Updated by teiling88 almost 2 years ago

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 Updated by following almost 2 years ago

  • Status changed from neu to erledigt
  • Target version set to Version 3.1.5
  • % Done changed from 0 to 100

Danke, nun sollte alles passen.

Also available in: Atom PDF