Bloccare le richeste per determinati file con un HttpHandler ASP.NET

di Daniele Bochicchio, in ASP.NET, HttpHandler, web.config,

Ci sono casi in cui vogliamo bloccare una particolare estensione (vedi .mdb o .mp3) dall'essere disponibile attraverso il web server.
Il sistema più pratico, sfruttando ASP.NET, è quello di utilizzare un HttpHandler che punti a System.Web.HttpForbiddenHandler, in modo da bloccare la richiesta.
Ovviamente in questo modo tutte le richieste per quella particolare estensione verranno reindirizzate al worker process di ASP.NET.

Per prima cosa, è necessario aggiungere nei mappings di IIS la voce.
Per farlo è sufficiente aprile ISM (la consola di gestione) ed entrare nelle proprietà di un sito.
A quel punto è sufficiente posizionarsi sotto 'Application Settings' e quindi premere il pulsante 'Configuration'.
Saranno disponibili i mappings, per cui non ci resca che copiare il percorso a cui punta l'estensione .aspx e creare un nuovo mapping per la nostra estensione, ad esempio .mdb.
Pare ovvio che per fare questo genere di operazioni è necessario accedere alla console di gestione del sito.
Una volta sistemato IIS, è sufficiente inserire nel web.config (o nel machine.config, se è un'impostazione che si vuole dare a tutti i siti) questo codice:

<system.web>
    <httpHandlers>
        <add verb="*" path="*.mdb" type="System.Web.HttpForbiddenHandler" />
        <add verb="*" path="*.mp3 type="System.Web.HttpForbiddenHandler" />
    </httpHandlers>
</system.web>

E' poi comunque possibile scriver HttpHandler personalizzati.

Approfondimenti[/h4] ad esempio:

#442 - Esportare dati da Excel verso XML con un HTTPHandler di ASP.NET
https://www.aspitalia.com/liste/usag/script.aspx?ID=442

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi