KamoCRM

Nehmen Sie wiederholte Statusparams an, so dass das Gateway den Filter nicht korrumpieren kann

FixDocsService
Verschifft
7. August 2026 um 02:32 UTC
Autor
Kamo
Ausschuss
144dcbb

Eröffnung ************ beantwortet "Unbekannter Status: ************ für jedes Mitglied. Das Mitgliedsraster schickte den Eimer als einen CSV-Wert. Ein Komma in einem Abfragewert hat um als %2C zu reisen und APIService - das gemeinsame Gateway jeder /api/docs/** Anruf crosses - verkettiert die bereits codierte URI und Abfragen in einen schlichten String und reicht diesen String an RestTemplate.austausch. RestTemplate behandelt eine String-URL als eine URI TEMPLATE und prozent-enkodiert es ein zweites Mal, so %2C wurde %252C; Tomcat hier einmal dekodiert und parseStatusen auf einem Komma, das nicht mehr da war aufgeteilt, Ausfall valueOf auf dem gesamten Run-together-Token. Das Gateway wird NICHT geändert. Es trägt /api/docs/**, /api/security/** und jeder anderer Dienst, und der Wechsel auf URI.create/build(true) würde die Codierung ändern Semantik für jeden Anrufer auf der Plattform auf einmal - von denen einige nur überleben wegen dieser Re-encode. Das ist seine eigene bewusste Änderung mit einer eigenen Überprüfung. So kommt der reservierte Charakter aus dem Draht statt: Status jetzt REPEATS, **************** Statusnamen sind [A-Z_] nur, also ist die zweite encode ein No-Op auf ihnen. - parseStatuses gewinnt eine Liste<String&gt; überlastet, die die EXISTING pro-Element einbindet Regel. Das enum Parsing ist nicht dupliziert; es gibt noch genau einen Ort ein Statusname wird eine Konstante, so wiederholte Params, ein einziger CSV-Wert, und Das von Spring eigene String-"List Komma teilte alle Länder auf dem gleichen Set. - Ein CSV arbeitet weiter, also der Status des HR-Grids=EXECUTED und jedes mit vorgemerkte Mitglied URL sind unberührt auf dem Draht. - Auch auf die HR-Medges (Listenzusagen, ListeMitgliedzuweisungen) angewendet, nicht nur das Mitglied, so dass kein legaler Endpunkt durch ein Komma gefiltert werden kann. - Ein unbekannter Token ist immer noch eine 400, die es benennt. Leise fallen lassen würde Seite ein filtern, dass die Benutzeroberfläche darauf besteht, angewendet zu werden - das schlechteste Ergebnis auf einem Compliance-Gitter. LegalMemberStatusBindingTest pingt es an der realen Bindungsgrenze via MockMvc: wiederholte Params und eine CSV-Auflösung zum identischen Satz, der HR-Einzelwert ist unverändert, ein unbekannter Token 400s, und die alte doppelt codierte Form wird abgelehnt laut und nicht laut, als still und leise nichts zusammenzubringen. 401 Tests, 0 Ausfälle.

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