KamoCRM

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?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen