Come negare l'accesso ai file DLL in un sito Web (su IIS 6 e 7)
-
03-07-2019 - |
Domanda
Se utilizzo un URL come http: //mysite/myfolder/myfile.dll , I ottenere una finestra di dialogo " Vuoi aprire o salvare questo file " ;. Certo, non voglio che le persone siano in grado di scaricare e disassemblare le nostre DLL. Come posso negare alle persone che accedono direttamente a tali file?
Soluzione
Negare tutte le DLL è drastico in un sito asp.net, poiché Silverlight ecc. usa le DLL client che devono essere disponibili per il download dal browser client.
È possibile utilizzare IIS Management Console o API di gestione per disabilitare l'autenticazione sul file o sulla directory della dll.
Deseleziona semplicemente tutte le opzioni di autenticazione e l'accesso verrà negato.
Altri suggerimenti
Di solito questo non è consentito per impostazione predefinita. Se accedi al gestore IIS e modifichi il sito Web, devi deselezionare "Accesso all'origine script". DLL dovrebbe anche essere nella lista delle estensioni di file proibite.
La risposta breve è che non dovrebbero esserci file che non si desidera pubblicare sotto la radice web.
Non conosco personalmente IIS 6 o 7, ma in Apache una directory è designata come web root, ad es. \ site \ htdocs e nulla sopra è accessibile dall'esterno. Se mantieni i tuoi file DLL fuori da quella gerarchia, allora sono inaccessibili.
Imposta la sicurezza dei file Windows e i diritti di accesso appropriati.
es. quando usi asp.net dovresti negare l'accesso al .dll per tutti gli utenti tranne l'account ASPNET.
! L'account IUSR_xxx non dovrebbe avere diritti sul tuo .dll!
Se per qualche motivo i mapping degli script in IIS non possono essere modificati, HttpForbiddenHandler può essere utilizzato