Autor Zpráva
Coompiik
Profil
Dobrý den,
mám na webu administraci na subdoméně admin.example.com a ta si ukládá sessiony o tom kdo a jak je přihlášenej atp. Vím že se dá nastavit aby se všechny cookiesky a sessiony ukládaly na hlavní doménu nebo jinam, ale já by jsem to už jen kvůli přehledu potřeboval mít takto oddělené, jen bych potřeboval nějak zavolat z hlavní domény tu administraci jestli je někdo přihlášenej a popř. nějaký informace o něm.
Jde to nějak udělat aby si pořád nechala každá svoje cookiesky pro sebe?

Omlouvám se za špatnou srozumitelnost a předem děkuji za každou odpověď.
RastyAmateur
Profil
Coompiik:
Nemám s tím zkušenosti, ale zkoušel jsem hledat...
Fisir
Profil
Reaguji na RastyAmateura:
Je moc hezké, že se snažíš poradit, ale kdyby sis přečetl tebou odkázané odpovědi, zjistil bys, že způsobí nastavení session pro celou doménu a její subdomény dohromady, což Coompiik nechce.

Reaguji na Coompiika:
Takže ty nechceš, aby jednotlivé domény viděly session ostatních, ale chceš, aby jednotlivé domény viděly session ostatních. Na to asi budeš muset jít nějak jinak, třeba se JavaScriptem na example.com zeptat admin.example.com, jestli je uživatel přihlášen.
RastyAmateur
Profil
Fisir:
Já nemám vlastní webhosting, doménu, nic, takže jsem to nikdy nenastavoval. Ale aktuální server, který mám k dispozici je nastaven tak, že www je nastavena jako subdoména a v případě, že subdoména není v url obsažena, přesměruje se to na www.

Ale nevím, jestli to píšu dobře. Vše nastavoval majitel. V mém případě by mnou uvedené řešení mělo fungovat.
Coompiik
Profil
Fisir:
Přemýšlel jsem o tom že bych to udělal přes JS, ale chtěl jsem to mít bezpečnější. Já nevím když přes ajax načtu něco z jiný domény tak to bere ohled na ty cookiesky jiný domény, neni něco na ten způsob i v PhP? Nechci "sessiony z jiný domény" ale zavolat skript na jiný doméně kterej bude pracovat se sessionama toho uživatele na tý svojí doméně.

Nejsem si jist jestli to jde a pokud ne tak rád příjmu alternativní řešení.
Moc děkuji za i nadcházající odpovědi.
RastyAmateur
Profil
Coompiik:
když přes ajax načtu něco z jiný domény
Krk bych za to nedal, ale mám silný pocit, že ajax na jinou doménu nelze zavolat. Řešil jsem to asi půl roku zpátky a pokud si správně vzpomínám, tak to nešlo. (Narychlo jsem se to pokusil ověřit, a asi to půjde, ale nebude to jednoduché...)
Keeehi
Profil
Coompiik:
Tobě jde spíš o něco na způsob SSO.
Fisir
Profil
Reaguji na RastyAmateura:
([#4]) Asi ti úplně nerozumím, nevím, jak session probírané v tomhle vlákně souvisejí s nějakým přesměrováním na tvém webu.

([#6]) „mám silný pocit, že ajax na jinou doménu nelze zavolat
Ale subdoména je něco jiného. I pokud by to bylo na jinou doménu, dá se velmi jednoduše použít JSONP.

Reaguji na Coompiika:
Jenže si musíš uvědomit, že serverový skript pracuje se session toho, od koho mu požadavek přišel. Když ho tedy pošleš z PHP na example.com, bude skript na admin.example.com pracovat se session pro example.com, nikoliv návštěvníka, který si example.com prohlíží. Aby admin.example.com pracovalo se session návštěvníka, musí ten požadavek odeslat návštěvník.

Jestliže máš pod kontrolou jak admin.example.com, tak i example.com, dalo by se to udělat takhle:
1.) JavaScript na example.com pošle požadavek na autorizaci u admin.example.com.
2.) admin.example.com bude mít přístup k příslušným session, takže si oprávněnost požadavku dokáže ověřit.
3.) Do databáze si uloží výsledek ověření (je/není přihlášen, uživatelské ID, přezdívka, …), čas ověření a ověřovací token.
4.) Ověřovací token pošle v odpovědi na požadavek z example.com.
5.) JavaScript na example.com pošle ověřovací token serverovému skriptu na example.com.
6.) Serverový skript na example.com pošle token na admin.example.com, který mu (v případě, že od vytvoření tokenu neuběhla příliš dlouhá doba) vrátí uložený výsledek ověření.
7.) Serverový skript na example.com si na základě odpovědi od admin.example.com může nastavit vlastní session, případně předané informace využít jinak.

Připomínám, že tohle je řešení pro jednorázové ověření, takže pokud se po provedení ověření uživatel na admin.example.com odhlásí, example.com ho bude stále brát jako přihlášeného.

Případně diagram:
Coompiik
Profil
Vypadá to složitě ale dokážu si to představit v provozu, opravdu moc děkuji, jakmile se dostanu k počítači udělám to, opravdu jsi mi moc pomohl

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: