Pomoc s cURL
Zdravím,
Potrebujem od Vás poradiť ako docieliť nasledovného požadovaného efektu.
Majme website (ďalej iba ws) A a ws B . Z ws B sa pomocou cURL pripájam na ws A, pričom ws A ukladá dáta do cookies. Problém nastáva v tom, že ak sa na ws B prihlásim, session resp. prihlásenie na ws A neplatí a teda odkazuje ma na stránku login-u. Samozrejme to isté sa deje v opačnom postupe. Tak sa dostávame k bodu mojej otázky. Dá sa vyriešiť tento problém tak, aby ak sa prihlásim na ws B, prihlásenie bude platiť aj pre ws A? Dodávam, že ma napadlo ukladať cookies na ws B tak, kde ich ukladá obyčajne Internetový prehliadač ale takúto možnosť som u cURL nenašiel. Informácie o tom čo daná stránka ws A odosiela môžem prípadne bližšie špecifikovať, nakoľko ich viem zistiť cez Tamper Data.
Snáď som to dobre vysvetlil ak nie pýtajte sa. Vopred vďaka za všetky rady/postrehy.
+ ukážky kódu ak bude treba kľudne dodám.
S pozdravom striky..
Potrebujem od Vás poradiť ako docieliť nasledovného požadovaného efektu.
Majme website (ďalej iba ws) A a ws B . Z ws B sa pomocou cURL pripájam na ws A, pričom ws A ukladá dáta do cookies. Problém nastáva v tom, že ak sa na ws B prihlásim, session resp. prihlásenie na ws A neplatí a teda odkazuje ma na stránku login-u. Samozrejme to isté sa deje v opačnom postupe. Tak sa dostávame k bodu mojej otázky. Dá sa vyriešiť tento problém tak, aby ak sa prihlásim na ws B, prihlásenie bude platiť aj pre ws A? Dodávam, že ma napadlo ukladať cookies na ws B tak, kde ich ukladá obyčajne Internetový prehliadač ale takúto možnosť som u cURL nenašiel. Informácie o tom čo daná stránka ws A odosiela môžem prípadne bližšie špecifikovať, nakoľko ich viem zistiť cez Tamper Data.
Snáď som to dobre vysvetlil ak nie pýtajte sa. Vopred vďaka za všetky rady/postrehy.
+ ukážky kódu ak bude treba kľudne dodám.
S pozdravom striky..
odpovím otázkou... a proč to chceš?
- řešit to lze... například tím, že si napíše svojí session třídu a budeš si session ukládat do společné databáze pro oba servery
pak stačí při get či post přes curl přidat do url adresy PHPSESSID = původního půžadavky nebo přidat cookies
ale upozorňuji, že na to musíš mít svojí třidu... protože jinak ti to nebude fungovat i kdyby jsi oba weby měl na jednom stroji a session se ukládaly na stejné místo
protože ukládání session do souboru funguje, tak
GET na ws A ... session_start ... otevře načte a uzamkne soubor pro čtení
GET na ws B ... session_start ... čeká na odemčení souboru s session
ukončení skriptu z ws A.... ws B otevířá session
tohle by ti odpadlo při ukládání do SQL... jenže pak se ti zase bude stávat to, že jedno session přepíše druhé
a hlavní důvod proč ti to nemůže fungovat... je že se ti změní IP adresa
uživatel odešle GET na ws A pod IP xxx.yyy.xxx.yyy
ws A odešle GET na ws B pod IP zzz.aaa.zzz.aaa
session jako takové mají být pouze pro danou IP... jinak mi stačí abych kdekoliv na interntu zachytil tvoje COOKIES a mám tvoje přihlášené konto se všemi právy
- řešit to lze... například tím, že si napíše svojí session třídu a budeš si session ukládat do společné databáze pro oba servery
pak stačí při get či post přes curl přidat do url adresy PHPSESSID = původního půžadavky nebo přidat cookies
ale upozorňuji, že na to musíš mít svojí třidu... protože jinak ti to nebude fungovat i kdyby jsi oba weby měl na jednom stroji a session se ukládaly na stejné místo
protože ukládání session do souboru funguje, tak
GET na ws A ... session_start ... otevře načte a uzamkne soubor pro čtení
GET na ws B ... session_start ... čeká na odemčení souboru s session
ukončení skriptu z ws A.... ws B otevířá session
tohle by ti odpadlo při ukládání do SQL... jenže pak se ti zase bude stávat to, že jedno session přepíše druhé
a hlavní důvod proč ti to nemůže fungovat... je že se ti změní IP adresa
uživatel odešle GET na ws A pod IP xxx.yyy.xxx.yyy
ws A odešle GET na ws B pod IP zzz.aaa.zzz.aaa
session jako takové mají být pouze pro danou IP... jinak mi stačí abych kdekoliv na interntu zachytil tvoje COOKIES a mám tvoje přihlášené konto se všemi právy