Multipart parsing matches boundary and form-data case-sensitively
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
Direzione di ricerca
Apri MaxLib.WebServer/Post/MultipartFormData.cs e controlla boundaryRegex() e la verifica di disposition vicino alla riga 119. Verifica la gestione con distinzione tra maiuscole e minuscole descritta nell'issue, quindi conferma che i parametri boundary e Content-Disposition con maiuscole e minuscole miste vengano accettati senza trasformare le parti valide in semplici valori FormEntry né restituire 400.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
MultipartFormData matches parameter and token names case-sensitively, but RFC 9110/2045 make them case-insensitive. Content-Type: multipart/form-data; Boundary=xyz does not match boundaryRegex (no IgnoreCase), so the valid body is rejected with 400. A part with Content-Disposition: Form-Data; name="a" fails StartsWith("form-data", Ordinal) and becomes a plain FormEntry, losing its name and filename.
Location: MaxLib.WebServer/Post/MultipartFormData.cs (boundaryRegex(), and the disposition check near line 119)
Fix: Add RegexOptions.IgnoreCase | RegexOptions.CultureInvariant to boundaryRegex() and compare the disposition type with StringComparison.OrdinalIgnoreCase.
- Lingua principale
- C#
- Stelle
- 1
- Fork
- 3
- Merge medio
- 1g 9h
- PR unite (30g)
- 4
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Garados007/MaxLib.WebServer
-
Reason-phrase table has misspelled entries (`Unathorized`, `Switching Protcols`, `Multiple Choises`)Forse già presa @Jah-yee l’ha presa 20 giorni fa. Apertabug severity:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
documentation good first issue severity:low
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
bug severity:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
bug security severity:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
-
bug severity:low
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Tutte le issue di Garados007/MaxLib.WebServer
Issue simili
-
area-blazor NativeAOT Regression
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
dotnet/aspnetcore#70236 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug evaluation required
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
MaterialDesignInXAML/MaterialDesignInXamlToolkit#4118 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
[Format]: .dartApertaformats
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
KnifeLemon/Filee#980 ·
I maintainer di solito rispondono entro 1 giorno