Avatar billede el_fredo Praktikant
24. oktober 2002 - 12:11 Der er 11 kommentarer og
1 løsning

Dybe links - forebyggelse

Jeg har udviklet (med megen hjælp fra Disky) en jsp side, der har password-sikret adgang, hvor det ikke er muligt at indtaste links til andre sider i stien, uden at man bliver redirected til logon-siden. Det er alt sammen fint nok. Hvis man indtaster det direkte link til en fil i browserstien har jeg imidlertid et problem... så kan man fint hente en fil, uden at være logget ind. Hvordan undgår jeg det? PS! Undskyld at jeg kun sætter 10 pts. på højkant. Jeg har kun 10 tilbage...
Avatar billede disky Nybegynder
24. oktober 2002 - 12:16 #1
Jeg svarede i den anden tråd.

p.s. jeg hjælper selvfølgelig også selvom der kun er '0' point.

Hvis du har ICQ kan du altid spørger der.

#1413069
Avatar billede el_fredo Praktikant
24. oktober 2002 - 12:23 #2
Fik du fat i problemet på den anden side, disky? Hvis man indtaster et direkte link til en fil, fx .pdf, så kan man godt downloade den, selvom man ikke er logget ind... alt det andet fungerer, med redirect osv.
Avatar billede bearhugx Nybegynder
24. oktober 2002 - 16:53 #3
Her er et foreslag :

begræns filadgangen til f.eks. en servlet -- og tjeck så, hvergang en bruger requester en fil via Servletten, om brugeren/session-objektet holder på et Logon-objekt (du skal selv lave logon-obj'et, det er ikke indbygget :-)

dvs. i stedet for at man kan hente filen således
  http://domæne/filer/enFil.exe

at man så bliver nød til at requeste den på følgende måde :
  http://domæne/MinFilDeleServlet?fil=enFil.exe

(eller andet logisk navn)

/Søren Munk Skrøder
Avatar billede bearhugx Nybegynder
24. oktober 2002 - 16:55 #4
Køre denne diskution også i forbindelse med et andet spm - så kunne jeg godt tænke mig et link :-)
Avatar billede disky Nybegynder
24. oktober 2002 - 16:58 #5
Avatar billede bearhugx Nybegynder
24. oktober 2002 - 17:08 #6
thx Disky >> fandt det dog selv, kun et øjeblik efter :-))
----
Som disky også foreslår i det andet spørgsmål, så kan min løsning selvfølgelig også laves i JSP i stedet for en servlet :-))

/Søren
Avatar billede soelvpil Nybegynder
24. oktober 2002 - 17:22 #7
En alternativ løsning kan være at bruge et såkaldt filter (i hvert fald hvis ens server er af nyere dato).

Et filter kan opfattes som en slags servlet, der altid sidder foran andre servlets/jsp-sider, og filtrerer. Man kan f.eks. her checke om en bruger er logget på. Det smarte er at man også kan sætte et filter foran statisk indhold og dermed loginbeskytte det.
Avatar billede bearhugx Nybegynder
24. oktober 2002 - 21:06 #8
soelvpil >> ja nu hvor du siger det, så er det jo rigtigt -- jeg vidste dog ikke at man også kunne sætte filter foran statisk indhold..
vil det så blive kaldt på følgende måde :
  http://domæne/MitFilter,enSide.html

??
Avatar billede soelvpil Nybegynder
24. oktober 2002 - 21:45 #9
Nej.

Man kalder siden helt som man plejer.

I standardkonfigurationsfilen har man så sat op, at bestemte url'er (eller alle) skal "filtreres". Dette bevirker så, at filtret kaldes først, og herefter (måske) den efterfølgende side.
Avatar billede el_fredo Praktikant
25. oktober 2002 - 12:54 #10
Jeg er ikke helt med på det filter... jeg har heller ikke styr på servlets. Det jeg mangler, er en stump kode der kan benyttes i praksis i forbindelse med mine .jsp filer, så man ikke kan lave dybe links direkte til filer, og downloade uden at være logget ind.
Avatar billede el_fredo Praktikant
25. oktober 2002 - 12:57 #11
bearhugx, jeg har fint styr på problemet, og den logiske løsning, men jeg har ikke styr på det tekniske i forb. m. jsp og html, så det jeg mangler er blot et simpelt, men funktionelt, eksempel.
Avatar billede el_fredo Praktikant
31. oktober 2002 - 09:21 #12
Nå. Jeg har droppet det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester