Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Jak na cookies na více doménách?

neddy
verified
rating uzivatele
(3 hodnocení)
7. 10. 2008 11:10:30
Jak vyřešit, aby si weby na dvou různých doménách automaticky předali ID přihlášeného uživatele? Tzn. na web1.cz se přihlásím, pak zadám url web2.cz a již budu přihlášen automaticky. Číst cookies z jiné domény nebo zapsat stejnou cookies pro jinou doménu nelze, takže jak podle Vás nejlépe předat ID? Jde mi jen o předání ID, bezpečnostní stránku neřeším.
7. 10. 2008 11:10:30
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137161
cbob
verified
rating uzivatele
(2 hodnocení)
7. 10. 2008 11:54:35
SSO - single sign on.
vetsinou se to resi tak, ze se pri prechodu z jedne domeny na druhou preda v url nejaky hash. Ten je bud sam o sobe bezpecny (tj. je tam zakodovany cas a id uzivatele) a nebo se ten samy hash ulozi do sdilene db. A druhy server tento hash prevezme a overi uzivatele. Neni to uplne trivka :)
7. 10. 2008 11:54:35
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137160
neddy
verified
rating uzivatele
(3 hodnocení)
7. 10. 2008 12:00:06
Napsal cbob;124527
SSO - single sign on.
vetsinou se to resi tak, ze se pri prechodu z jedne domeny na druhou preda v url nejaky hash. Ten je bud sam o sobe bezpecny (tj. je tam zakodovany cas a id uzivatele) a nebo se ten samy hash ulozi do sdilene db. A druhy server tento hash prevezme a overi uzivatele. Neni to uplne trivka :)
Toto si dokážu představit. Dobré je, že obě domény mají společnou DB. Teoreticky by mi stačilo zařídit, aby se předalo stejné SSID, protože session ukládám do DB, takže by se podle toho načetlo i na druhém webu. Přechod mezi stránkami bych vymyslel. Horší pokud uživatel nepřejde, ale zadá rovnou web2.cz, tudíž musí ID získat nějak jinak než z GET :-/
7. 10. 2008 12:00:06
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137159
Singularita
verified
rating uzivatele
7. 10. 2008 13:09:19
Slo by pouzit reseni jako ma wikipedie - po prihlaseni se na strance "byl jste prihlasen" zobrazi obrazky, ktere toto id predavaji .... a ktere se vrati s cookie, nastavenym pro tuhle domenu.
cili na http://web1/stranka_po_prihlaseni.php se objevi obrazek se src=http://web2/set_cookie.png?id=HASH_PRO_PRIHLASENI a ten pak nastavi cookie - uz na spravne domene. Takze i kdyz nekdo po prihlaseni zada primo "web2" tak je uz prihlasen
7. 10. 2008 13:09:19
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137158
Weall
verified
rating uzivatele
(23 hodnocení)
7. 10. 2008 13:12:46
Napsal neddy;124532
Toto si dokážu představit. Dobré je, že obě domény mají společnou DB. Teoreticky by mi stačilo zařídit, aby se předalo stejné SSID, protože session ukládám do DB, takže by se podle toho načetlo i na druhém webu. Přechod mezi stránkami bych vymyslel. Horší pokud uživatel nepřejde, ale zadá rovnou web2.cz, tudíž musí ID získat nějak jinak než z GET :-/
No možná blbost, ale:
přihlášení na web1.cz => vytvoření cookies "a"
přechod na web2.cz si uděláš => vytvoření cookies "b" (když neexistuje)
přičemž cookies "a" i "b" budou hodnotově stejné ;)
takže, když vleze na web2.cz, tak tam za předpokladu, že se už přihlásil a přelezl z web1.cz bude přihlášen :) .. když ne, tak login na web2.cz a aplikovat to i opačným směrem na web1.cz :)
Snad aspoń trošku srozumitelné :D
7. 10. 2008 13:12:46
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137157
neddy
verified
rating uzivatele
(3 hodnocení)
7. 10. 2008 13:34:23
Napsal Weall;124562
No možná blbost, ale:
přihlášení na web1.cz => vytvoření cookies "a"
přechod na web2.cz si uděláš => vytvoření cookies "b" (když neexistuje)
přičemž cookies "a" i "b" budou hodnotově stejné ;)
takže, když vleze na web2.cz, tak tam za předpokladu, že se už přihlásil a přelezl z web1.cz bude přihlášen :) .. když ne, tak login na web2.cz a aplikovat to i opačným směrem na web1.cz :)
Snad aspoń trošku srozumitelné :D
Problém je právě ten, jak udělat aby A i B měli stejnou hodnotu. Někde se ta hodnota musí předat, aby se mohla zapsat. Řešila by to možnost, kdy skript na jedné doméně vytvoří cookies pro web1, ale i pro web2, ovšem to nezle z bezpečnostních důvodů. Cookies může vytvořit a číst jen web, který k ní přísluší.
7. 10. 2008 13:34:23
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137156
neddy
verified
rating uzivatele
(3 hodnocení)
7. 10. 2008 13:38:41
Napsal Singularita;124561
Slo by pouzit reseni jako ma wikipedie - po prihlaseni se na strance "byl jste prihlasen" zobrazi obrazky, ktere toto id predavaji .... a ktere se vrati s cookie, nastavenym pro tuhle domenu.
cili na http://web1/stranka_po_prihlaseni.php se objevi obrazek se src=http://web2/set_cookie.png?id=HASH_PRO_PRIHLASENI a ten pak nastavi cookie - uz na spravne domene. Takze i kdyz nekdo po prihlaseni zada primo "web2" tak je uz prihlasen
Trochu mi není jasné, jak set_cookie.png?id=HASH_PRO_PRIHLASENI nastaví vzdáleně cookies?
7. 10. 2008 13:38:41
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137155
Singularita
verified
rating uzivatele
7. 10. 2008 13:49:56
Napsal neddy;124572
Trochu mi není jasné, jak set_cookie.png?id=HASH_PRO_PRIHLASENI nastaví vzdáleně cookies?
OK, tak set-cookie.php, nebo tak neco - pokud tam neni mod_rewrite aby to poustelo skript. Skript si precte id z $_GET, posle cookie, nastavi content-type na image/gif nebo image/png a posle obrazek (muze byt treba "neviditelny" 1x1 pix.). Ty cookies se ovsem poslaly z web2 a proto budou ulozeny u web2. je li vice webu (web3, web4....) posle se proste vice obrazku :)
7. 10. 2008 13:49:56
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137154
neddy
verified
rating uzivatele
(3 hodnocení)
7. 10. 2008 13:52:26
Napsal Singularita;124575
OK, tak set-cookie.php, nebo tak neco - pokud tam neni mod_rewrite aby to poustelo skript. Skript si precte id z $_GET, posle cookie, nastavi content-type na image/gif nebo image/png a posle obrazek (muze byt treba "neviditelny" 1x1 pix.). Ty cookies se ovsem poslaly z web2 a proto budou ulozeny u web2. je li vice webu (web3, web4....) posle se proste vice obrazku :)
Jasný, hned zkusím, díky.
7. 10. 2008 13:52:26
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137153
neddy
verified
rating uzivatele
(3 hodnocení)
7. 10. 2008 14:11:20
Singularita: opravdu děkuji.
Řešením je tedy něco takového:
Na web1 vložím:
Skript na web2:
header('Content-type: image/jpeg');
header('Set-Cookie: nazev=hodnota');
readfile('1x1.jpg');
die();
Jako vždy, nic složitého, jen ten nápad no :)
7. 10. 2008 14:11:20
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137152
Luboš Hájek
verified
rating uzivatele
(12 hodnocení)
8. 10. 2008 11:02:10
A neslo by zacit pouzivat OpenID? To je myslim dobra alternativa a stoji za zvazeni.
Napsal neddy;124585
Singularita: opravdu děkuji.
Řešením je tedy něco takového:
Na web1 vložím:
Skript na web2:
header('Content-type: image/jpeg');
header('Set-Cookie: nazev=hodnota');
readfile('1x1.jpg');
die();
Jako vždy, nic složitého, jen ten nápad no :)
8. 10. 2008 11:02:10
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137151
neddy
verified
rating uzivatele
(3 hodnocení)
8. 10. 2008 17:02:04
Napsal Haaja;125010
A neslo by zacit pouzivat OpenID? To je myslim dobra alternativa a stoji za zvazeni.
Ve skutečnosti mi nešlo o registraci a přihlášení uživatelů. Uvedl jsem jen příklad o co mi šlo. Potřebuji předávat data mezi více servery, aniž by se uživatel nějak přihlašoval nebo něco.
Příklad:
- přijdu na web1, zadám někde jméno a email např. při přidání příspěvku
- časem přijdu na web2, jdu k přidání příspěvku a již se mi z cookies načetlo jméno a email
- potřeboval jsem zajistit předání dat z web1 na web2, aniž by se uživatel nějak autorizoval
Možná zvláštní příklad, ale zase jej uvádím pro představu.
8. 10. 2008 17:02:04
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137150
Luboš Hájek
verified
rating uzivatele
(12 hodnocení)
8. 10. 2008 18:30:31
Jasne, chapu, ale zase jmeno a email zvlada s prehledem predavat openid a vyresi tim i to prihlasovani. :)
Osobne se mi zacina vic a vic zamlouvat, ale samozrejme je to hlavne na autorizaci dane osoby. Ale na bloguje.cz napriklad pridavani komentaru funguje jiz pres openid a funguje tak jak rikas, tzn. clovek zada jen svoji openid adresu a ono to doplni Nick, email, webove stranky, pokud ma clovek zadane a nemusi se nikam registrovat, prihlasovat.
8. 10. 2008 18:30:31
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137149
neddy
verified
rating uzivatele
(3 hodnocení)
9. 10. 2008 00:12:17
Určitě velmi zajímavé, již jsem se koukal na openid.cz. Řešil jsem něco, kde by se zrovna openid nedalo využít, ale jinak děkuji za info, v budoucnu to třeba někde využiji. Problém možná také je, že obyčejný člověk, který považuje seznam.cz za internet, tak mu vysvětlit praktickou věc jako openid nepůjde. Jakákoliv registrace někam, kde zrovna nepotřebuje, je pro některé obava s vykradění účtu :)
9. 10. 2008 00:12:17
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137148
Petr Havelka
verified
rating uzivatele
9. 10. 2008 10:10:35
Taky si myslím, že OpenID není ničím světoborným. O to více mě překvapuje, že to integrují například do Drupala. V OpenId mají všichni uživatelé stejné práva, takže se to stává skoro nepoužitelným. Raději bych použil třeba Shibboleth, který je ale na menší projekty zbytečně obrovský.
V prvním kole bych přehodil session do DB. http://www.hawkee.com/snippet/2018/
V druhém bych udělal propojení a vždy ze stránky kontroloval v DB, jestli už uživatel náhodou není přihlášený přes stránku druhou...
9. 10. 2008 10:10:35
https://webtrh.cz/diskuse/jak-na-cookies-na-vice-domenach/#reply137147
Pro odpověď se přihlašte.
Přihlásit