dotnet / dotnet/dotnet-api-docs
How to safely handle file paths and check for valid paths
- Lingua principale
- C#
- Stelle
- 949
- Fork
- 1.7k
- Merge medio
- 2g 19h
- PR unite (30g)
- 52
Descrizione
## How to safely handle file paths and check for valid paths
From dotnet/dotnet-api-docs#877 (https://github.com/dotnet/dotnet-api-docs/issues/877)
We should extend this to document how to safely check for path containment (as we've done for the example for [ExtractToFile](https://docs.microsoft.com/en-us/dotnet/api/system.io.compression.zipfileextensions.extracttofile?view=netcore-2.1#System_IO_Compression_ZipFileExtensions_ExtractToFile_System_IO_Compression_ZipArchiveEntry_System_String_System_Boolean_), etc.)
Maybe a linked article from Path.Join/Combine/GetFullPath on how to safely handle paths? Basically something discussing directory traversal attacks and how to check for one path being contained within another...
The most salient point would be that you should always fully normalize user input paths (untrusted input) and be aware of combination gotchas.
See dotnet/dotnet-api-docs#877
//cc @JeremyKuhne
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia leggendo dotnet/dotnet-api-docs#877 e l'esempio di documentazione esistente di ExtractToFile. Esamina le indicazioni necessarie su Path.Join, Path.Combine e Path.GetFullPath; done dovrebbe essere un articolo collegato che spiega la normalizzazione dei percorsi non attendibili, le insidie della combinazione, il Directory Traversal e i controlli di contenimento.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp
- Ambito
- documentation, security
- Tipo di issue
- Documentazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100