Watermark-Filter komplett kaputt: eingebettetes "?" in Logo-URL bricht URL-Parsing (Folgebug zu #32/#35) #38
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
Nach dem #35-Fix (Logo-URL wird nicht mehr rekursiv gewrappt) laden nach Aktivierung von
remote_thumbnailsweder im Admin noch im Storefront irgendwelche Bilder mit gesetztemai_type— nicht nur ohne Wasserzeichen, sondern gar nicht.Beispiel-URL aus dem Admin:
Im gerenderten HTML zeigt sich ein asymmetrisches Encoding-Muster:
filters:watermark(wird prozentkodiert, alles ab dem?ts=1754775997in der Logo-URL (also,-5,-5,0):label(...)/.../....png?ts=...) bleibt roh.Root Cause
Die Logo-URL (
.../Logo_....jpg?ts=1754775997) wird unverändert alswatermark()-Filter-Argument eingebettet — inklusive ihrer eigenen Query-String. Alles, was diesen String als reguläre URL behandelt (Browser beim Setzen von<img src>, Lazy-Load-JS, Twig/URL-Normalisierung), interpretiert das erste unescapte?in der gesamten URL als Beginn der Query-String der äußeren Ressource — das ist Standard-URL-Semantik (RFC 3986), kein Bug einer Zwischenschicht. Alles nach diesem?rutscht aus dem Pfad, imagor bekommt nie den vollständigen Filter-Pfad.Das war vermutlich schon beim ursprünglichen Issue #32 die eigentliche Ursache (nicht die dort vermutete "SSRF-Muster"-Sanitisierung) — die dortige verschachtelte
https://...-URL hatte ebenfalls ein?ts=....Fix
Query-String der eingebetteten Logo-URL vor dem Einsetzen in den
watermark()-Filter entfernen (die äußere Bild-URL am Pfadende ist davon nicht betroffen — deren?ts=ist korrekt die Query-String der Gesamt-URL).