2 pagine in totale: <<Indietro 1 [2]
Adesso dobbiamo conoscere il tipo di immagine che stiamo per mostrare per poter poi indicare il ContenType corretto, per far questo controlliamo l'estensione del file e impostiamo il ContentType appropriato:
<%
FType = LCase (Right(FName, 4))
Select Case FType
Case ".jpg"
FType = "image/jpeg"
Case ".gif"
FType = "image/gif"
Case ".tif"
FType = "image/tiff"
Case ".png"
FType = "image/png"
Case ".bmp"
FType = "image/bmp"
Case else
FType = ""
End Select
%>Ora possiamo procedere con le verifiche dell'autenticazione e dell'esistenza del file e inviarlo al browser mediante l'oggetto Stream di ADO:
<%
if Session("AutenticazioneOK") = "OK" and FExists and FType<>"" then
Dim objStream
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = adTypeBinary
objStream.Open
objStream.LoadFromFile FName
'Al browser
Response.ContentType = FType
Response.BinaryWrite objStream.Read
objStream.Close
Set objStream = Nothing
end if
%>Se una delle condizioni non è verificata, non viene inviato nulla al browser. Si può scegliere anche di creare un'immagine predefinita che indichi che l'utente non è autenticato e mostrare quella, sta a voi la scelta.
Aggiungiamo l'autenticazione
Creiamo un ulteriore file, chiamiamolo ProvaProtezione.asp, che verifica le credenziali e setta le variabili di sessione, per inserire infine l'immagine nel contesto della pagina:
<%
if ........(codice per verificare l'autenticazione) ...... then
Session("AutenticazioneOK") = "OK"
else
Session("AutenticazioneOK") = ""
end if
'imposto la variabile di sessione con il nome dell'immagine da mostrare
Session("ImgName") = "My_Img.jpg"
%>
..... Contenuto della pagina .........
<img src="readimg.asp" alt="ecco la foto protetta">
..... Contenuto della pagina .........Se proviamo ad eseguire il file ProvaProtezione.asp (e abbiamo le credenziali giuste per l'autenticazione) la nostra immagine ci verrà mostrata in maniera del tutto trasparente.
Conclusioni
Siamo così riusciti a proteggere una nostra cartella di immagini da sguardi indiscreti, nascondendo l'esatta posizione delle immagini e impedendo anche che utenti maliziosi possano aggirare le nostra protezioni, il tutto con una ventina di righe di codice e due pagine ASP classiche.
Spesso si dice che ASP è morto a che ASP.NET entro breve lo toglierà di scena, questo script ci mostra che le possibilità del buon vecchio ASP non sono da disprezzarem, anche se transizione verso il .NET Framework sarà lenta e graduale.
Approfondimenti
2 pagine in totale: <<Indietro 1 [2]
Contenuti dell'articolo
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




Stampa
Download 


10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!