26. august 2003 - 19:00
Der er
17 kommentarer og 3 løsninger
Kun modtage kald fra én bestemt side
Hej
Jeg ønsker at lave en registreringsside, som kun vil godkende kald fra en bestemt sti/side.
Er dette muligt?
Eks.:
www.eksperten.dk/opretnyhed.asp (OK)
www.jubii.dk/opretnyhed.asp (IKKE OK) etc.
Mange tak for hjælpen!
Annonceindlæg fra Infor
26. august 2003 - 19:08
#2
Der skulle selvfølgelig lige være en " efter adressen:
If Request.Servervariables("HTTP_REFERER") = "
http://www.eksperten.dk/opretnyhed.asp" Then
Response.Write "OK"
Else
Response.Write "IKKE OK"
End If
26. august 2003 - 19:58
#3
Du skylder måske lige at fortælle, at HTTP_REFERER ikke altid indeholder en værdi.
26. august 2003 - 20:02
#4
Ja undskyld, men så skal den vel også returnere IKKE OK.
26. august 2003 - 20:13
#5
Ikke nødvendigvis. Hvis du sidder bag en firewall, virker HTTP_REFERER ikke.
26. august 2003 - 20:24
#6
Jeg har prøvet nu, og kunne heller ikke forstå, hvorfor HTTP_REFERER ikke gav nogen værdi. Jeg ønsker i midlertid at få en løsning, som virker uanset, hvilken bruger, der anvender siden. Det kan måske ikke lade sig gøre?
26. august 2003 - 20:49
#7
du kan ikke få nogen sikker løsning. det vil altid være klientens job at fortælle dette, og alt hvad klienten siger, kan forfalskes...
26. august 2003 - 21:11
#8
Ikke hvis referer-siden ikke ligger på samme domæne.
27. august 2003 - 01:51
#9
Aha...!?
27. august 2003 - 08:14
#10
Her er en mulighed: Side1.asp. Den side som du vil tillade posts fra. <name=side1 action=side2.asp> <% session("key") = uniquestring ' en tilfældig genereret streng response.write "<input type=hidden name=key value="&session("key")&"> response.write '... resten af side 1... %> side2.asp ' den modtagende side. key = request.form("key") if key <> session("key") then response.write "nixen den går ikke, du skal bruge side1.asp" else response.write "ok" end if //akj
27. august 2003 - 14:50
#11
Det kræver jo, at siderne ligger under samme domæne.
27. august 2003 - 14:58
#12
Netro >> Ja, det er vel også det mest normale. Meningen er vel at sikre at der ikke postes data til ens webside fra en 'hacker' //akj
27. august 2003 - 16:21
#13
Ja, men jeg er ikke sikker på, hvad han har i sinde at bruge det til. Eksperten er jo i følge ham OK, men det ligger ikke på hans server.
27. august 2003 - 20:32
#14
>>dk_akj: Tak for at prøve! Desværre må jeg erkende, at netro har fuldstændig ret - mit problem er, at den side, der kalder mit script, ikke ligger på min egen server. Det er derfor (eftersom jeg ikke kan anvende sessions eller cookies), jeg ville sikre mig, at kun én bestemt side havde lov til at køre mit script... Har squashguy mon ret?
27. august 2003 - 21:01
#15
Ja, det er fuldstændig korrekt, hvad squashguy siger.
28. august 2003 - 03:08
#16
dk_akj -> Din løsning tillader i øvrigt stadig, at der kan logges ind fra andre steder end side 1, idet både session("key") og request.form("key") vil være tomme, hvis du befinder dig på en anden side og ikke sender en key med som post.
28. august 2003 - 07:59
#17
netro >> u're right :-) Det skal jo så være: if key <> session("key") or session("key") = "" then response.write "nixen den går ikke, du skal bruge side1.asp" else response.write "ok" end if boleole >> Kan du rette i den side der afsender formen ?? //akj
28. august 2003 - 18:03
#18
>>dk_akj: Nej, men jeg har droppet ideen. Jeg tror desværre svaret er, at det ikke kan lade sig gøre, hvorfor jeg vil lukke spørgsmålet og fordele nogle points. >>squashguy: Kan du ikke oprette et svar, idet det faktisk var dig, der gav svaret (I andre får selvfølgelig også for jeres hjælp og tid!).
28. august 2003 - 18:05
#19
Også netro (opret lige et svar)...
28. august 2003 - 18:09
#20
Okay :)
Kurser inden for grundlæggende programmering