/ Forside / Teknologi / Internet / Sikkerhed / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Sikkerhed
#NavnPoint
stl_s 37026
arlet 26827
miritdk 20260
o.v.n. 12167
als 8951
refi 8694
tedd 8272
BjarneD 7338
Klaudi 7257
10  molokyle 6481
Virtuelle mapper og sikkerhed
Fra : Bjarne S


Dato : 19-03-03 11:23

Hej...

Sidder sidder med et sikkerhedsproblem, som jeg bare ikke kan løse.
Løsningen er sikkert ligetil, men jeg er altså kørt fast. Håber at en eller
anden kan hjælpe mig videre...

Jeg har lavet en hjemmeside, hvor det skal være muligt for en annonym bruger
at se billeder via et asp-script.

Billederne ligger i en virtuel mappe på en IIS server (NT 4)

Af sikkerhedshensyn må en bruger ikke kunne se billederne i den virtuelle
mappe direkte - kun gennem et asp-script.

Dvs. at asp-scriptet skal kunne læse i den virtuelle mappe - ikke en anonym
bruger.

Hvordan løser jeg dette problem?

Mvh.
Bjarne S



 
 
Erik Ginnerskov (19-03-2003)
Kommentar
Fra : Erik Ginnerskov


Dato : 19-03-03 14:06


"Bjarne S" <bjs@udc.hk.dk> skrev
> Hej...
>
> Sidder sidder med et sikkerhedsproblem, som jeg bare ikke kan løse.
> Løsningen er sikkert ligetil, men jeg er altså kørt fast. Håber at en
eller
> anden kan hjælpe mig videre...
>
> Jeg har lavet en hjemmeside, hvor det skal være muligt for en annonym
bruger
> at se billeder via et asp-script.
>
> Billederne ligger i en virtuel mappe på en IIS server (NT 4)
>
> Af sikkerhedshensyn må en bruger ikke kunne se billederne i den virtuelle
> mappe direkte - kun gennem et asp-script.
>
> Dvs. at asp-scriptet skal kunne læse i den virtuelle mappe - ikke en
anonym
> bruger.
>
> Hvordan løser jeg dette problem?

Prøv at spørge i news:dk.edb.internet.webdesign.serverside.asp

Der sidder de folk, der har forstand på den slags.

--
Med venlig hilsen
Erik Ginnerskov - erik snabela ginnerskov dot dk
http://www.hjemmesideskolen.dk - http://www.html-faq.dk
http://hjem.get2net.dk/sorgin



Jonathan Stein (19-03-2003)
Kommentar
Fra : Jonathan Stein


Dato : 19-03-03 17:23

Bjarne S wrote:

> Billederne ligger i en virtuel mappe på en IIS server (NT 4)
>
> Af sikkerhedshensyn må en bruger ikke kunne se billederne i den virtuelle
> mappe direkte - kun gennem et asp-script.

Filer, der ikke skal tilgås direkte af klienten, placeres uden for web-scope.
En nødløsning kan være at sortere på fil-type, så IIS ikke tillader requests af
f.eks. *.gif og *.jpg fra pågældende område.

M.v.h.

Jonathan

--
Nyt alternativ til egen server: JSP Enterprise hotel med adgang til
Enterprise Java Beans, egen Java Virtual Machine og egen IP-adresse
(giver mulighed for eget SSL-certifikat).
http://www.jsp-hotel.dk/



Jesper Nielsen (20-03-2003)
Kommentar
Fra : Jesper Nielsen


Dato : 20-03-03 03:48

> Billederne ligger i en virtuel mappe på en IIS server (NT 4)
>
> Af sikkerhedshensyn må en bruger ikke kunne se billederne i den virtuelle
> mappe direkte - kun gennem et asp-script.
>
> Dvs. at asp-scriptet skal kunne læse i den virtuelle mappe - ikke en
anonym
> bruger.

Selvom spørgsmålet egentlig ikke hører til i denne gruppe (men i
dk.edb.webdesign.serverside.asp), får du til et eksempel. Det burde virke,
men er ikke testet.

Husk at ændre linien med teksten
Response.ContentType = "image/gif"
til
Response.ContentType = "image/jpeg"
hvis du anvender JPEG billeder. Du kan selvfølgelig indbygge mulighed for at
medsende content-type via querystring, lade scriptet kigge på filnavnets
extension og dermed være CT eller noget helt tredie, og dermed gøre filen
mere dynamisk.

Som Jonathan allerede har skrevet, bør billedfilerne ikke ligge i et
bibliotek, som er tilgængeligt fra nettet, men udenfor web-root - dette
script er ligeglad, bare den kan få lov til at læse filerne.

<%@ Language=VBScript EnableSessionState=False LCID=1030 %>
<%
Option Explicit

Dim objStream, objFso, objF1
Dim strFileSpec, intFileSize

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objStream = Server.CreateObject("ADODB.Stream")
strFileSpec = "c:\sti\til\billeder\" & Request.QueryString("FileName")

Response.Clear()

objStream.Open
objStream.Type = 1

Set objF1 = objFso.GetFile(strFileSpec)
intFileSize = objF1.Size

objStream.LoadFromFile(strFileSpec)

Response.ContentType = "image/gif"
Response.AddHeader "Content-Disposition", "attachment; filename=" &
objF1.Name
Response.AddHeader "Content-Length", intFileSize

Response.BinaryWrite(objStream.Read)
Response.Flush()


Set objStream = Nothing
Set objFso = Nothing
%>

--
Mvh. Jesper



Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408803
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste