Veranern Sie die Abfrage des Anrufers auf den öffentlich zugänglichen Proxies

FixAPIService
Verschifft
7. August 2026 um 05:02 UTC
Autor
Kamo
Ausschuss
21670e5

Das Gateway stoppte die doppelte Codierung weitergeleiteter Abfragestrings in 3c24d32, aber vier andere Proxies in diesem Service noch konatierten bereits-Prozent-verschlüsselte Bytes in eine Schnur und übergab es an RestTemplate's String Überlastung, die es behandelt als URI-Vorlage und kodiert es ein zweites Mal: %2C links als %252C, die vorgeschaltet einmal entschlüsselt und erhielt den buchstäblichen Token A%2CB. Das sind alles öffentliche Flächen, also sind die Misserfolge still und landen außerhalb der Gesellschaft: - /api/public/esign/** . Status eines Business-Plan-Kunden=SENT%2CCOMPLETED filter ist bei ESigService als One Run-Token angekommen. - /api/public/webinar/** - gleiche Form, MediaService Seite. - /api/social/webhook/{token' . Der GET-Verifizierungs-Handshake IST die Abfrage String. Ein Meta-Reifen-Token mit einem Raum im ungleichen Downstream und MediaService beantwortete 200-leere, so Meta ließ das Abonnement fallen; X's crc_token ist HMAC'd wörtlich, so dass ein verstümmelter den Webhook abmeldet. Sicher zu ändern: Meta x-hub-signature-256 und X-Signatur sind beide HMAC über dem rohen BODY (MessengerAdapter:110, InstagramAdapter:114, XAdapter:151), die als unberührtes Kommunet weiterleiten[]. Keine Signatur deckt die URL ab. - /api/public-chat/** - die drei Handler, die getQueryString() anberaumen. Der Helfer zieht aus APIGatewayController in UpstreamUri so vier Klassen teilen Sie sich einen Parse-and-Fall-Back-Zweig statt vier Exemplare. Eine URL, die URI.create rejects (Handyraum, |, {], abgeschnittene Flucht - Formen, die heute funktionieren nur BECAUSE der zweiten Encode) geht noch den alten String-Pfad mit einem WARN, so missgebildet Verkehr verhält sich genau so, wie es tat. Öffentlicher Chat benötigte einen zweiten Zugangspunkt und nicht den der Gateways. Sein Weg ist gebaut von @PathVariables, dass Spring hat bereits DECODED, während seine Abfrage ist raw, so wickeln die verkettete URL in URI. erstellen wäre ein Regression: ein Sitzungs-Token, der als abc%23xyz ankommt, abc#xyz dekodiert zu abc#xyz, das URI.create akzeptiert, während still den Pfad am Fragment abgeschnitten. Die Hälften werden auseinander gehalten, um die Rufstelle - der Pfad durch die gleiche codiert UriComponentsBuilder Aufruf DefaultUriBuilderFactory macht, so dass diese Bytes sind unverändert; die Abfrage ist in Ruhe gelassen. Die sieben Abfragen-losen Handler halten den String Pfad unberührt: keine Abfrage, kein Doppel-enCode zu beheben. Bewusst NICHT geändert, und sie müssen so bleiben - alle encodieren genau einmal heute, so "Fixierung" sie würde 502 Live-Verkehr: Abonnement-Katalog (splices a DECODED @RequestParam locale), Abonnement-Promotions (fixed literal), Validate-Taste in ************ (SHA-256 hex, ein Fixpunkt unter URI_COMPONENT), LeadIntakePublicController (dekodierte UUID-Pfadvariable, niemals Anrufe getQueryString), die VOIP-Aufnahme ingest POST (Konfigurationsliter, alle Eingaben im mehrteiligen Körper) und CapchaVerificationService (Bezahl ist in der JSON-Körper).

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen