Autenticazione e protezione JPG da web.config

lunedì 26 luglio 2004 - 20.48

Trinità Profilo | Junior Member

Prendendo spunto da una discussione in atto sul newsgroup di Microsoft, chiedevo delucidazioni sulla possibilità di proteggere file con estensioni tipo jpg con un semplice web.config.

E' stato suggerito di applicare il tag location (che senza l'attributo path dovrebbe riferirsi alla cartella)

Ho provato ma benchè si riferisca alla cartella giusta, protegge i file che iis gira al framework, quindi i soliti aspx ascx etc.

l'unico modo quindi sembra attraverso i filtri Isapi...

Brainkiller Profilo | Guru

Si sicuramente il filtro ISAPI è una soluzione o l'HttpHandler se non sbaglio perchè intercetta tutte le richieste e poi eventualmente ti nega l'accesso o ti redirige.
Una soluzione ben più sicura è agire sulle permissions sul File System, mettendo un bel deny in lettura hai praticamente messo in cassaforte il tuo file.
Non so poi se è una soluzione che ti soddisfa.

ciao
david

Trinità Profilo | Junior Member

mettendo un bel deny in lettura hai praticamente messo in cassaforte il tuo file.

mmm interessante, proverò

Trinità Profilo | Junior Member

penso di aver risolto (o quasi) con questo codice

Imports System
Imports System.Web

Public Class JpgHandler
Implements IHttpHandler

Public Sub ProcessRequest(context As HttpContext)
Dim FileName As String = context.Server.MapPath(context.Request.FilePath)
If context.Request.ServerVariables("HTTP_REFERER") Is Nothing Then
context.Response.ContentType = "image/JPEG"
context.Response.WriteFile("/no.jpg")
Else
If context.Request.ServerVariables("HTTP_REFERER").IndexOf("mydomain.com") > 0 Then
context.Response.ContentType = "image/JPEG"
context.Response.WriteFile(FileName)
Else
context.Response.ContentType = "image/JPEG"
context.Response.WriteFile("/no.jpg")
End If
End If
End Sub

Public ReadOnly Property IsReusable() As Boolean
Get
Return True
End Get
End Property
End Class


e


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.jpg" type="JpgHandler, MyDll"/>
</httpHandlers>
</system.web>
</configuration>



l'unica cosa che mi da errore Implements IHttpHandler

Trinità Profilo | Junior Member

Piccola precisazione, rileggendo l'articolo dove ho trovato il codice, rimane comunque l'esigenza di "smanettare" con il filtro isapi.
Io speravo di trovare una soluzione che potesse andare bene anche per chi ha un sito in hosting e non può smanettare sul filro isapi

Brainkiller Profilo | Guru

Anche io ho avuto un problema simile e non avendo accesso alla macchina ho dovuto rinunciare :(

ciao
david

plutones Profilo | Newbie

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

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

Ho inserito il filtro e ora le jpg non le vedo più.
simile a questo esempio: http://www.west-wind.com/presentations/howaspnetworks/Figure%201.png

ho aggiunto queste l'Handlers nel web config ma ORA NON vedo mai l'jpeg e le GIF nemmeno quando logato via form-sql
<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>
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5