Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    14

    Vietare la lettura di una cartella

    Cari tutti ,
    ho un webapp asp che autentica gli utenti su sql server.
    il webconfig è :
    <authentication mode="Forms">
    <forms name=".ASPXAUTH" loginUrl="Default.aspx" protection="Validation" timeout="999999"/>
    </authentication>

    il progetto contiene sulla subfolder.
    Il webconfig della subcartella è
    <authorization>
    <deny users="?"/>
    </authorization>

    Configurandolo in quel modo la pagine nella asp nella sottocartella non vengono viste da utenti che non si sono autenticati e avviene un redirect sulla pagina di default
    Tuttavia riesco comunque a vedere le immagini e tutti i dati diversi dalle pagine aspx contenuti nella sottocartella anche senza autenticarmi.
    Come posso bloccare le risorse nella sottocartella a tutti gli utenti non autorizzati ?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    ti consiglio di :
    1) metterei files in una cartella non raggiungibile via WEB.
    2) creare una aspx che prende come parametro il nome di un file, lo legge dalla cartella e lo restituisce al client.

    dovrebbe funzionare!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    14
    Ciao Stefano grazie in anticipo.
    Fantastica la frase "Se nella vita avrò avuto la possiblita di aiutare qualcuno non avrò vissuto invano" che ho clonato e insierito dappertutto

    Come realizzo il secondo punto ?
    Dovrebbe funzionare per tutte le subfolder

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    Grazie!!

    supponi che vuoi farti dare dall' applicazione il file pippo.txt
    e che tutti questi files si trovano sotto c:\repository.

    Allora puoi fare un codice come il seguente

    string fileName = "pippo.txt";
    string filePath = "c:\repository\" + fileName;

    Response.ContentType="Application/octect-stream";
    Response.AddHeader("content-disposition","attachment;fileName="+fileName );
    Response.TransmitFile(filePath );
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    naturalmente pippo.txt era un esempio,
    puoi prendere dalla request un parametro chiamato fileName e comporre la variabile fileName in questo modo:

    string fileName = Request("fileName");
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    14
    sto seguendo questa guida e sembra funzionare
    http://www.aspitalia.com/script/460/...r-ASP.NET.aspx



    ho usato i filtri isati e ora non vedo le gif dall'esterno.
    ho aggiunto queste l'Handlers nel web config ma ORA NON vedo mai l'jpeg e le GIF nemmeno quando logato via form


    <system.web>
    <httpHandlers>
    <add verb="*" path="*.jpg" type="System.Web.HttpForbiddenHandler" />
    <add verb="*" path="*.gif type="System.Web.HttpForbiddenHandler" />
    <remove verb="*" path="*.jpg"/>
    <remove verb="*" path="*.gif"/>
    </httpHandlers>
    </system.web>

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    beh il forbiddenHandler e' un handler di default che impedisce qualsiasi accesso..
    devi eseguire le operazioni indicate ma usando un handler diverso,
    prova questo:

    System.Web.DefaultHttpHandler
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    14
    Niente ancora.
    ho aggiunto nel webconfig la sintassi
    <httpHandlers>
    <add verb="*" path="*.jpg" type="System.Web.DefaultHttpHandler" />
    <add verb="*" path="*.gif" type="System.Web.DefaultHttpHandler" />
    </httpHandlers>


    ma non riesco a vedere le jpg.Ora non le vedo ne logato e ne slogato
    E' come se il filtro non si disabilitasse.
    Come fare? Cosa Vi viene in mente?
    Grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    14
    La mia situazione è questa:
    <authentication mode="Forms">
    <forms name=".ASPXAUTH" loginUrl="Default.aspx" protection="Validation" timeout="999999"/>
    </authentication>
    <authorization>
    <deny users="?" />
    <allow users="*" />
    </authorization>

    Ho impostato il filtro ISAPI in questo modo :
    http://img39.imageshack.us/i/13811174.jpg/

    In questa configurazione le jpg non vengono viste dall'esterno. Quando scrivo la url dell'immagine esempio http://miosito/documenti/immagin.jpg avviene un redirect verso la pagina di default, che è il login
    Però anche logandomi(uso l'autenticazione FORMS su un db SQL Server 2005) non vedo più immagini .Perchè riesco a vedere i files aspx dopo il login nelle subfolders e non più le immagini. Ora non vedo più messuna jpg-gif? COME DISATTIVARE IL FILTRO ISAPI INSERITO AL LOGIN DELL'UTENTE?
    Grazie ancora

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    fai questa prova...
    togli semplicmenente l' hander dal web.config!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.