Avatar billede encorez Nybegynder
01. marts 2010 - 16:38 Der er 7 kommentarer og
2 løsninger

Samme cookie til flere domæner

Hej

Lige nu laver jeg en cookie som gemmer en brugers brugernavn:
setcookie("media_user", "$user", time()+157680000, "/", ".test.dk");

At jeg sætter ".test.dk" til sidst, gør at cookien også virker på subdomæner til test.dk. Ellers ville det ikke virke.

Men hvad nu hvis jeg også har domænet yes.dk og den side vil jeg også have skal logge brugere automatisk ind ved at læse cookien som jeg gør på test.dk

Men når jeg tester/læser en cookie skriver jeg sådan
$_COOKIE[media_user]
og den læser jo kun cookien fra det domæne man er inde på lige nu.

Så kan det overhovedet lade sig gøre?
Avatar billede repox Seniormester
01. marts 2010 - 16:53 #1
Det korte - men korrekte svar - er at det ikke kan lade sig gøre
Avatar billede acore Ekspert
02. marts 2010 - 08:46 #2
Uden at gå rette med repox, så kunne en løsning være at lave en rewrite, der directer yes.dk til test.dk, men det har den - måske uønskede - side-effekt, at url'en ændres, så brugerne kan se, hvad der er sket.
Avatar billede repox Seniormester
02. marts 2010 - 08:57 #3
#2
Hvordan skulle det løse den udfordring at en cookie tilknyttes et TLD?
Jeg håber - for den generelle sikkerhed for alle klienterne skyld - ikke at du kan knække den nød; selvom der sikkert er mange andre der vil værdsætte det.

Jeg kan udpensle problematikken i det.
Lad os sige at jeg har domænet example.org.
Udover det har jeg også en lækker forretning i at administrere paypal.com.
Blandt de muligheder jeg giver på example.org tilbyder jeg blandt andet at - når nu du er logget ind der - du kan springe direkte på paypal.com, fordi jeg har sat en cookie med de nødvendige oplysninger for at det kan lade sig give sig.
Men hvis paypal.com, kan få fat i en cookie, som er oprettet på example.org - hvad skulle så forhindre at blackhat-hacker.com ikke også skulle kunne se den cookie - og endda tage en kopi af indholdet - og på den måde logge ind på din paypal konto?

Med andre ord; der er mening med 'galskaben' og mit korte svar, som stadig er 'nej, det kan ikke lade sig gøre'. Det skyldes det generelle sikkerhedsaspekt i det.
Avatar billede acore Ekspert
02. marts 2010 - 09:10 #4
Min idé var, at lave et subdomæne yes.test.dk, og så lave en rewrite, der redirectede yes.dk til det.

Men - som jeg også skrev - så har det nogle konsekvenser, men det ville løse det aktuelle problem.

Ikke desto mindre har du ret i dine - mere principielle - overvejelser. Mit svar var et low-level fix på et praktisk problem.
Avatar billede repox Seniormester
02. marts 2010 - 09:42 #5
Uhm, det er vist en holdningssag om det 'løser det aktuelle problem'.
Hvis du alligevel vil pege yes.dk ned på yes.test.dk, så er der jo slet ikke nogen grund til at have yes.dk.

Nu er det jo også svært at forholde sig til, når det bare er fiktive domæner.

Personligt ville jeg lave noget tokenized communication mellem yes.dk og test.dk.
Et API mellem de to domæner kunne give en mulighed for at kunne logge på hvert af domænerne ved hjælp at et link.
Avatar billede acore Ekspert
02. marts 2010 - 09:48 #6
Det ville løse problemet, men skabe nogle nye.

Derudover enig.
Avatar billede encorez Nybegynder
04. marts 2010 - 12:49 #7
Hej

Jeg tror jeg har fået de svar jeg regnede med at få.

Tak for jeres input. Læg gerne et svar som tak for hjælpen
Avatar billede repox Seniormester
04. marts 2010 - 12:54 #8
Du fik et fra mig her.
Avatar billede acore Ekspert
04. marts 2010 - 18:34 #9
...og mig
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