/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Begrænse adgang til fil?
Fra : Torben Jensen


Dato : 13-08-03 08:45

Hej NG!

Efter henvisning fra dk.edb.webdesign.html henvender jeg mig nu Jer i håb om
at I kan hjælpe.

Jeg er stødt på en slags sikkerhedsproblem på mit site.

Jeg har et site som er passwordbeskyttet (serverside). På en af mine sider
linker ejg til en fil, hvor jeg gerne vil sikre mig at det kun er
verificerede brugere der har adgang.

1. Vil søgemaskiner der scanner ens site, kunne aflæse links som ligger på
passwordbeskyttede sider (den virtuelle sti er jo på ngen måde beskyttet)?

2. Kan man på nogen måde sikre sig, at det kun er besøgende på sitet, der
kan downloade filen? Her tænker jeg på at alle verificerede brugere jo i
princippet har mulighed for at aflæse den direkte sti til filen og publicere
den i et eller andet omfang.

På forhånd tak for hjælpen.

M.v.h.
Torben Jensen



 
 
Jesper Stocholm (13-08-2003)
Kommentar
Fra : Jesper Stocholm


Dato : 13-08-03 09:00

Torben Jensen wrote :

> Jeg er stødt på en slags sikkerhedsproblem på mit site.
>
> Jeg har et site som er passwordbeskyttet (serverside). På en af mine
> sider linker ejg til en fil, hvor jeg gerne vil sikre mig at det kun
> er verificerede brugere der har adgang.
>
> 1. Vil søgemaskiner der scanner ens site, kunne aflæse links som
> ligger på passwordbeskyttede sider (den virtuelle sti er jo på ngen
> måde beskyttet)?

Hvis der er linket til siden fra en side som robotterne kan se, så kan den optræde i
deres søreresultatet. Der blev i den anden gruppe foreslået at fx google bruger deres
google-bar til at indexere sider, så hvis dine brugere anvender den - og det er
korrekt at den bruges på den måde - så vil stien teoretisk kunne optræde på google.

> 2. Kan man på nogen måde sikre sig, at det kun er besøgende på sitet,
> der kan downloade filen?

Hvis du mener om det kan lade sig gøre at det kun er folk, der _er_logget_ind_ der
kan hente filen, så er svaret ja.

> Her tænker jeg på at alle verificerede
> brugere jo i princippet har mulighed for at aflæse den direkte sti til
> filen og publicere den i et eller andet omfang.

Du kan bruge ASP til at streame filen til browseren. I den ASP-fil kan du så inden
checke om brugeren er logget ind.

Hvis filen du ønsker at beskytte hedder file.pdf og ligger i samme bibliotek som den
ASP-fil der skal streame filen, så kan du bruge kode som

' check om bruger er logget ind
if Session("loggedId") = "yes" then
   set oStream = Server.Createobject("ADODB.Stream")
   oStream.Type = 1 'adTypeBinary
   oStream.Open
   ' ASP-filen kaldes som page.asp?file=file.pdf
   oStream.LoadFromFile (Server.Mappath(file))
   'ContentType skal ændres, hvis det ikke er en PDF-fil
   Response.ContentType = "application/pdf
   'Denne linie sikrer at browseren viser det rigtige filnavn
   Response.AddHeader "content-disposition", "attachment; filename=" & file
   Response.BinaryWrite oStream.Read
   oStream.Close
   set oStream = nothing
end if

Koden herover er taget fra http://www.stocholm.dk/pmp/downloads/, hvor den i hvert
fald pt. ser ud til at virke.

--
Jesper Stocholm - http://stocholm.dk - http://asp-faq.dk
Skriv venligst under det du svarer på og skær det overflødige væk.
Se evt hvorfor på http://www.usenet.dk/netikette/citatteknik.html
Svar venligt til gruppen og ikke til mig privat !

Torben Jensen (13-08-2003)
Kommentar
Fra : Torben Jensen


Dato : 13-08-03 15:04


>
> Du kan bruge ASP til at streame filen til browseren. I den ASP-fil kan du
så inden
> checke om brugeren er logget ind.
>
> Hvis filen du ønsker at beskytte hedder file.pdf og ligger i samme
bibliotek som den
> ASP-fil der skal streame filen, så kan du bruge kode som
>
> ' check om bruger er logget ind
> if Session("loggedId") = "yes" then
> set oStream = Server.Createobject("ADODB.Stream")
> oStream.Type = 1 'adTypeBinary
> oStream.Open
> ' ASP-filen kaldes som page.asp?file=file.pdf
> oStream.LoadFromFile (Server.Mappath(file))
> 'ContentType skal ændres, hvis det ikke er en PDF-fil
> Response.ContentType = "application/pdf
> 'Denne linie sikrer at browseren viser det rigtige filnavn
> Response.AddHeader "content-disposition", "attachment; filename=" &
file
> Response.BinaryWrite oStream.Read
> oStream.Close
> set oStream = nothing
> end if
>

Ok.
Checket om brugeren er logget ind har jeg på plads, men hvad er ideen med at
streame filen til browseren?
I mit tilfælde drejer det sig om to zip-filer. som jeg i første omgang bare
havde tænkt mig at lave et ganske almindeligt link til. Hvis jeg på nogen
måde kan gøre det mere sikkert ved at streame, så er det helt klart at
foretrække.

Kan du uddybe fordelen ved at streame fremfor at lave almindelige links?

Tak for hjælpen.
M.v.h.
Torben Jensen



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408932
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste