Avatar billede tuctoh Nybegynder
17. juli 2003 - 15:58 Der er 5 kommentarer og
1 løsning

server.execute og sikkerhed

Hej,

Hvis jeg bruger for eksempel:

<%server.execute("test.asp")%>

hvordan sikrer jeg at den rent faktisk bliver executed, og at det ikke er en bruger som skriver test.asp i adressen??

Er der noget i server variablerne på den side som kan teste det, eller hvad skal der til?

Jeg kører med IIS.

håber i kan hjælpe :)
Avatar billede keysersoze Ekspert
17. juli 2003 - 16:05 #1
NAME_ARRAY = split(request.servervariables("url"), "/", -1)
FILE_NAME = NAME_ARRAY(Ubound(NAME_ARRAY))

så har du filnavnet i den sidste variabel - hvis den så er lige med filens egen navn er der skrevet test.asp i toppen. Hvis ikke er siden hentet via server.execute på en anden side
Avatar billede nmh Nybegynder
17. juli 2003 - 16:10 #2
For at forhindre vilkårlige brugere i at skrive test.asp i deres URL-adresse, er du nødt til at lave noget login-kontrol.
Du kan så lave en sessionsvariabel som du i alle dine asp-sider tester om er iorden.

Hvis en bruger kan give det rigtige brugernavn og password kan du have en linie som f.eks. session("BrugerOK")=true.
I dine andre sider kan du så starte med
if not session("BrugerOK") then response.redirect("login.asp").
Deter i hvert fald en måde at gøre det på.
Avatar billede tuctoh Nybegynder
17. juli 2003 - 16:16 #3
genialt :)

Mangler bare én ting... ville gerne have det til at virke automatisk.

Jeg vil så gerne tjekke FILE_NAME i forhold til hvad filen egentligt hedder...

Noget ala

if FILE_NAME = filens_navn then response.end 'i starten af filen

Kan du hjælpe med det?


nmh >> jeg har skam et login system på plads... jeg skal bare have sikret at filen ikke bliver kørt hvis de bare skriver den i deres browser.
Avatar billede nmh Nybegynder
17. juli 2003 - 16:24 #4
Nej desværre ikke.
Avatar billede keysersoze Ekspert
17. juli 2003 - 16:25 #5
filer der kører vha server.execute lever lidt sit eget liv - fx dbconns og variabler fra hovedsiden kan ikke overføres dertil og omvendt har jeg heller ikke lige fundet frem til hvordan man så kan få filens navn hverken vha server.variables eller andet... men derfor skal jeg da ikke udelukke at det kan lade sig gøre
Avatar billede tuctoh Nybegynder
17. juli 2003 - 16:34 #6
ok, fandt en anden vej uden om det:

på hovedfilen i en include har jeg:

<%session("url") = request.servervariables("url")%>

og i toppen af resten af siderne har jeg:

<%if request.servervariables("url") <> session("url") then response.end%>


dette burde gøre det det skal :)

Tak for hjælpen!
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