Vorrei avere una whitelist di tipi di file che gli utenti sono autorizzati a caricare sul mio server IIS (im utilizzando IIS v7.5).Come limitare/convalidare i file di file di caricamento del file lato server su IIS
Quali sono le opzioni che ho? Ad esempio, per limitare la dimensione del file a 5 MB per un'azione specifica in mio controller, ho aggiunto questa sezione per la mia WebConfig:
<location path="home/fileupload">
<system.web>
<!-- maxRequestLength is in kilobytes (KB) -->
<httpRuntime maxRequestLength="5120" /> <!-- 5MB -->
</system.web>
<system.webServer>
<security>
<requestFiltering>
<!-- maxAllowedContentLength is in bytes -->
<requestLimits maxAllowedContentLength="5242880"/> <!-- 5MB -->
</requestFiltering>
</security>
</system.webServer>
</location>
C'è un'opzione nella WebConfig per impostare una whitelist di Tipi di file ammessi? O è l'unica opzione è quella di convalidare i filetypes nel codice quando il file è completamente caricato? Qual è la tecnica consigliata? Come posso essere sicuro che il .docx, .pdf, .jpg, ecc. Siano davvero quello che sono?
C'è un motivo per non convalidarlo dal lato client? –
perché questo non è tutti i browser che supportano questa funzionalità e anche perché tutto dovrebbe essere convalidato lato server comunque! –
@AlexandreJobin quanto è certo che il file sia ciò che l'utente sta dicendo? – Jared