Ho alcuni file nella mia cartella Contenuto che non voglio che un utente possa scaricare senza essere autorizzato. Come posso impedire a un utente di accedere al file semplicemente digitando ... Content/{filename} nella barra degli indirizzi?Protezione delle cartelle in MVC
risposta
Ci sono un paio di possibilità. Il primo consiste nella utilizzando il tag <location>
nel web.config:
<location path="Content">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
Un'altra possibilità è quella di mettere i file all'interno di una cartella in cui nessuno può accedere (come la cartella App_Data per esempio) e poi hanno un azione di controllo questo servirà quei file che saranno decorati con l'attributo [Authorize]
.
Beh un modo è quello di avere al di fuori del contesto di IIS, così invece di averli sotto C:\inetpub\wwwroot
cambiamento a qualcosa come C:\temp\files
.
nel proprio DB dispone di un GUID associato al nome del documento e utilizza il GUID per visualizzare il collegamento al file.
nell'azione del controller, si accetterà il GUID, otterrà il nome file e servirà il file nella risposta.
non funziona per me.
<configuration>
<appSettings>
...
</appSettings>
<system.web>
...
</system.web>
<system.webServer>
...
</system.webServer>
<location path="Content">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>
eseguo il mio MVC applicazione 4.0, di login e logout, non possono accedere a qualsiasi pagina app, ma ancora in grado di accedere al file dal link diretto come
http://localhost:80966/Content/Files/home.jpg
- 1. Struttura delle cartelle statiche in Django 1.4?
- 2. Conteggio delle cartelle con PowerShell
- 3. Protezione dell'elenco di controllo dell'applicazione ASP.NET MVC
- 4. protezione del codice sorgente in un'applicazione desktop node-webkit
- 5. Protezione delle password nell'ambiente di produzione
- 6. Protezione delle chiavi crittografiche nella RAM?
- 7. Elenco di cartelle/file "speciali" ASP.Net MVC
- 8. Protezione/Protezione del codice in JavaScript
- 9. Docker Compose Mount finestra delle cartelle
- 10. Cartelle nella directory Controller in ASP.NET MVC 4
- 11. Imposta posizione delle cartelle speciali con PowerShell
- 12. PowerShell per impostare le autorizzazioni delle cartelle
- 13. Ottieni nome cartelle dalla directory delle risorse
- 14. Strutturazione delle cartelle del controller ASP.net MVC per una migliore coesione
- 15. Spring MVC, generando un oggetto di protezione da una richiesta?
- 16. Aggiunta di directory per le cartelle delle risorse in Android
- 17. Regole per "Data modifica" delle cartelle in Esplora risorse
- 18. Finestra di dialogo del browser delle cartelle in Qt
- 19. ROBOCOPY - Copiare il contenuto delle cartelle in una singola cartella
- 20. Come cambiare i nomi delle cartelle in python?
- 21. Errore "Rilevamento delle cartelle di libreria" in Zend Studio
- 22. Eliminazione delle autorizzazioni speciali dalle cartelle in un ramo
- 23. MVC - Separazione delle preoccupazioni
- 24. Protezione stringa in APK
- 25. Creare cartelle in wix
- 26. Protezione licenze applicazioni vs Protezione copia in Android
- 27. Protezione per le immagini e il tracciamento delle rotaie
- 28. Delphi 7 TIdFTP Protezione FTP (protezione password)
- 29. livelli di protezione delle autorizzazioni Android 18 e 50
- 30. Protezione delle chiavi API sui client (JavaScript, Android, iOS, ecc.)
Dove sarebbe questo essere situato nel web. config? – user517406
All'interno dell'elemento '' e all'esterno ''. È alla radice. –
OK grazie, non ha funzionato subito come dovrebbe essere not :) –
user517406