Avatar billede boleole Nybegynder
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!
Avatar billede -thomas- Nybegynder
26. august 2003 - 19:05 #1
If Request.Servervariables("HTTP_REFERER") = "http://www.eksperten.dk/opretnyhed.asp Then


End If
Avatar billede -thomas- Nybegynder
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
Avatar billede netro Nybegynder
26. august 2003 - 19:58 #3
Du skylder måske lige at fortælle, at HTTP_REFERER ikke altid indeholder en værdi.
Avatar billede -thomas- Nybegynder
26. august 2003 - 20:02 #4
Ja undskyld, men så skal den vel også returnere IKKE OK.
Avatar billede netro Nybegynder
26. august 2003 - 20:13 #5
Ikke nødvendigvis. Hvis du sidder bag en firewall, virker HTTP_REFERER ikke.
Avatar billede boleole Nybegynder
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?
Avatar billede squashguy Nybegynder
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...
Avatar billede -thomas- Nybegynder
26. august 2003 - 21:11 #8
Ikke hvis referer-siden ikke ligger på samme domæne.
Avatar billede netro Nybegynder
27. august 2003 - 01:51 #9
Aha...!?
Avatar billede dk_akj Nybegynder
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
Avatar billede netro Nybegynder
27. august 2003 - 14:50 #11
Det kræver jo, at siderne ligger under samme domæne.
Avatar billede dk_akj Nybegynder
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
Avatar billede netro Nybegynder
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.
Avatar billede boleole Nybegynder
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?
Avatar billede netro Nybegynder
27. august 2003 - 21:01 #15
Ja, det er fuldstændig korrekt, hvad squashguy siger.
Avatar billede netro Nybegynder
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.
Avatar billede dk_akj Nybegynder
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
Avatar billede boleole Nybegynder
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!).
Avatar billede boleole Nybegynder
28. august 2003 - 18:05 #19
Også netro (opret lige et svar)...
Avatar billede netro Nybegynder
28. august 2003 - 18:09 #20
Okay :)
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