Avatar billede sorenstrom Nybegynder
05. april 2007 - 20:16 Der er 5 kommentarer

Oprette og læse cookie fra forskellige domæner

Jeg er ude efter følgende:

På mit domæne abc.dk, vil jeg gerne, via en ASP-side sætte en cookie, der skal kunne læses via en HTML-side på domænet def.dk.

Grunden til dette er, at man logger ind på abc.dk med en adgangskode, og der skal kun være adgang til den pågældende HTML-side på def.dk, hvis man kommer fra abc.dk.

Altså:
Jeg logger ind på en side på ABC.DK
Her klikker jeg på Download-knappen, der bringer mig videre til en download-side på DEF.DK

MEN det skal ikke være muligt at skrive adressen på downloadsiden direkte i browseren, derfor vil jeg gerne have sat adgangen via en cookie.

Er der nogen, der forstår hvad jeg mener ? :-)
Avatar billede thesurfer Nybegynder
05. april 2007 - 22:06 #1
Det kan ikke lade sig gøre.

Man kan ikke læse cookies på tværs af domæner.

Du har brug for ASP på begge domæner.

På DEF skal ASP læse en fil på ABC, som læser og udskriver indholdet af cookien, som ligger på samme server (ABC).
Avatar billede sorenstrom Nybegynder
05. april 2007 - 23:07 #2
Hvis jeg forstår dig ret, så kan jeg altså godt fra DEF, læse en cookie, der er oprettet på ABC?
Avatar billede thesurfer Nybegynder
05. april 2007 - 23:20 #3
Nej, det er netop det du ikke kan :-)

Men:

DEF kan læse og udskrive cookien.
ASP kan læse sider/filer/adresser der ligger på en anden server.

Hvis du har en ASP fil på ABC, der læser cookien, og udskriver den, kan det, der bliver udskrevet af ABC, blive læst på DEF.



Eksempel:
- ABC, indholdet af http://www.abc.dk/test.asp :
Response.Write "Hello World"

- DEF, indeholdet af http://www.def.dk/reader.asp
<%
  Response.Buffer = True
  Dim objXMLHTTP, xml

  ' Create an xmlhttp object:
  Set xml = Server.CreateObject("Microsoft.XMLHTTP")
  ' Or, for version 3.0 of XMLHTTP, use:
  ' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

  ' Opens the connection to the remote server.
  xml.Open "GET", "http://www.abc.dk/test.asp", False
   
  ' Actually Sends the request and returns the data:
  xml.Send

  ' HER UDSKRIVES DET DER ER HENTET FRA ABC.DK/TEST.ASP:
  Response.Write xml.responseText
 
  Set xml = Nothing
%>

Så udskriver DEF følgende: Hello World


Scriptet er hentet fra:
http://www.4guysfromrolla.com/webtech/110100-1.shtml#postadlink
Avatar billede thesurfer Nybegynder
05. april 2007 - 23:21 #4
Rettelse ("ABC" i stedet for "DEF"):

Nej, det er netop det du ikke kan :-)

Men:

ABC kan læse og udskrive cookien.
......osv..
Avatar billede roenving Novice
06. april 2007 - 01:01 #5
-- en ofte set variant, som de færreste er opmærksom på, er at cookies kan aflæses på tværs af _under_domæner, man skal bare husk at sætte domænet i cookien (og evt. også i dokumenterne !-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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