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?

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

Free Forever startenPreisgestaltung anzeigen