10. januar 2013 - 12:55Der er
17 kommentarer og 1 løsning
Session cross domain / logged in cross domain
Halløjsa. Sidder og overvejer hvordan jeg bedst får brugerdata delt cross-domain - altså til et site, som spænder over X forskellige domains men hvor man bl.a. gerne kun skulle logge ind een gang. Andre gemte data måtte også meget gerne forblive...
Cookies ... den tror jeg ikke kan lade sig gøre overhovedet.
Session ... det er her jeg vil tro man vil kunne lave en work around? Har kigget på at store session data i en tabel. Og det kunne lade sig gøre, men at the end of the day ... tror jeg faktisk ikke jeg vinder noget ved det, for jeg vil stadig skulle identificere hvilken session ID man kom fra, og så vil jeg nok lige så godt kunne starte session med den tidl. id fra det domain man kommer fra.
Men er den eneste approach så at indsætte session id (htmlspecialchars(SID)) i alle links som linker ud af sitet til et af de andre domains..? Eller er der nogen som har en super approach til dette?
... så viser det sig, at browseren/php eller hvad der styrer det, ikke har accepteret den tvungne session_id jeg har sat den til ... for så er session_id() = YYYYY
Hvordan tvinger jeg den i gulvet og får den til at købe at jeg VIL fortsætte med samme session!?? :-))
Okay, fandt selv svaret til ovenstående. Glemte at starte session på www.2.com når jeg kom fra www.1.com. Troede det var nok at sætte session_id (session_id($_GET[sesid]);) ... men der skulle lige en session_start() til også :-)
Men mit oprindelige spg. står stadig: Er der nogen som har en bedre måde end at jeg skal sende session_id med i alle hrefs som går ud over det eksisterende domain?
Hej Arne, tak for svar. Kan sagtens se din pointe, også i sikkerheds øje med. Men jeg er ikke med på hvordan jeg ellers kan gøre det? Jeg kunne lave en kryptering af nogle kombinationer - sessionid+ip+XXXX - og så dekryptere på den anden måde - men session id skal jeg have med i een eller anden form mener jeg, ellers kan jeg ikke få det til at virke. Er det det, du mener, eller har du et bedre forslag til at fortsætte sessionen fra det andet domain?
Hej Arne, tak for forklaring. Kan godt se sikkerheden i det. MEN ... kan ikke se, hvordan man overfører session_id? Gemmer xfer.php også den i tabellen sammen med token og ip? Og så sender du token med som _GET-var i URL'en i stedet?
Det er lidt tungt, ikke at lave men for brugeren synes jeg - med redirects mv. I stedet kunne man vel kryptere session_id'en og sende direkte i URL, kunne man ikke? Så mangler man det med, at den udløber. Det kunne man evt. acceptere som en mindre sikkerhedsrisiko? Eller ... kunne man ikke også smide det (udløbstidspunkt) med i URL'en, på en "kryptisk" måde? :-) Så slap man for både redirect og databaseaction..?
Så kommer der en helt anden tanke op .. hvad vil google synes om alt dette? Den vil vel få en masse unikke links til sider, som ellers er ens..... :-(
Citat: "xfer.php kan udover OK status ogsaa returnere en session id (selvom jeg ikke lige kan se pointen i at genbruge denne), username, shoe size etc.. "
Well, hele idéen var jo at fortsætte sessionen så jeg har alle session-vars (incl. login) tilgængelig. Alternativt kunne jeg jo "bare" medsende en form for krypteret kunde-id og logge ind på den anden side igen.
Google. Well, man kan logge ind eller lade være. Så google er "velkommen", og links ville jeg umiddelbart lave ens lige meget om man er logget ind eller ej - altså stadig fortsætte sessionen på den anden side. Så også for Google...
Citat: "Jeg forstaar ikke helt hvad side 2 skal bruge en krypteret session id til!!"
Jamen ... hvis jeg skal fortsætte sessionen så bliver jeg jo vel nødt til at lave en session_id($sessionid) ....?
Well, det ligger faktisk alt sammen på samme server ja (sofar) ... meeeeen, who knows, kunne blive udvidet, så det skal jeg måske ikke lægge an på.
Men jeg testede (usikker) ved blot at sende id'en med som get - og det virkede aldeles fint. Jeg skal så bare have modificeret en masse dynamiske links. Og det er ikke i post, det er "normale" links jeg skal tilføje en parameter...
Det, jeg vil have med over er generelt som du selv siger - user id, shoe size (!) - altså hvad der er gemt af preferencer på site X kan lige så godt også virke på site Y, lettere for brugeren.
Okay, så hvis vi ikke skeler til sikkerhed men kun til pragmatik, så ville du (også) blot sende session_id med i linket - evt. krypteret for at gøre det lidt bedre?
Well, det kan stadig være lidt "skidt" hvis de forkerte logger ind på en konto.
Men tak for assistancen - mange tak - tror jeg har et billede af hvad mulighederne er nu. Vil opveje fordele og ulemper. På begge måder vil link skulle modificeres kraftigt, og vil på begge måder måske give lidt problemer for google mv. Lets see.
Du må meget gerne smide et svar så jeg kan lukke tråden :-)
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.