=( Protected by witchcraft )=
http://www.phpbuilder.com/columns/chriskings20001128.php3
Zoek anders ook eens op Google op de zoekwoorden: Cross Domain Cookies.
Zoek anders ook eens op Google op de zoekwoorden: Cross Domain Cookies.
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Verwijderd
Met alleen cross domain cookies ben je er nog niet, je hebt dan wel hetzelfde session_id, maar niet dezelfde data, aangezien er 2 severs gebruikt worden.
Je zal dus ook iets aan de session handling moeten doen, je kan b.v. de sessie gegevens in een database op laten slaan waar beide servers gebruik van maken. (anders weet sever A niet wat server B voor data in de sessie gezet heeft)
Je zal dus ook iets aan de session handling moeten doen, je kan b.v. de sessie gegevens in een database op laten slaan waar beide servers gebruik van maken. (anders weet sever A niet wat server B voor data in de sessie gezet heeft)
Verwijderd
Tja, met dat je je sessie laat opslaan in een cookie (standaard geloof ik) laat je het gelijk opslaan in een db? Ik denk dat dat het handigste is.
Dus in je sessie bestand staat iets als:
..en daarbij zul je dus moeten kijken of die data (gekoppeld aan een ip oid) al in de database staat; zo ja -> gegevens updaten; zo nee -> rij toevoegen in db...
Lijkt mij.
En dan kun je nog meerdere websites koppelen ook aan je db.
Dus in je sessie bestand staat iets als:
PHP:
1
2
| session_start(); session_register('username'); |
..en daarbij zul je dus moeten kijken of die data (gekoppeld aan een ip oid) al in de database staat; zo ja -> gegevens updaten; zo nee -> rij toevoegen in db...
Lijkt mij.
En dan kun je nog meerdere websites koppelen ook aan je db.
Verwijderd
ivy > een sessie wordt niet opgeslagen in een cookie, alleen het id wordt opgeslagen in de cookie. De sessie gegevens staan in een file op de hd, en de gebruiker wordt herkend aan de hand van het id. Je kan iemand's sessie dus ook stelen door het id in je cookie te zetten d8 ik.
Als je de sessie gegevens in een database wilt opslaan moet je zelf een session handler schrijven (http://nl.php.net/manual/...sion-set-save-handler.php) die de sessie gegevens in een database zet met als key natuurlijk het session id. Beide servers moeten dan natuurlijk wel bij dezelfde database kunnen.
Data koppelen aan een ip-adres lijkt me niet handig i.v.m. NAT e.d.
Als je de sessie gegevens in een database wilt opslaan moet je zelf een session handler schrijven (http://nl.php.net/manual/...sion-set-save-handler.php) die de sessie gegevens in een database zet met als key natuurlijk het session id. Beide servers moeten dan natuurlijk wel bij dezelfde database kunnen.
Data koppelen aan een ip-adres lijkt me niet handig i.v.m. NAT e.d.
Verwijderd
Die database lijkt mij ook een handig idee.
Je kan dan mss een include pagina maken met enkele functies als GeefSession("blabla") (sry asp maar ik weet niet hoe het in php is).
Vergelijkbare functies met gewone sessievariabelen opvragen maar dan met een iets andere naam die dezelfde functie vervuld maar dan met een db.
Asp voorbeeldje:
Het kan mooier maar dit moet toch te doen zijn?
Je kan dan mss een include pagina maken met enkele functies als GeefSession("blabla") (sry asp maar ik weet niet hoe het in php is).
Vergelijkbare functies met gewone sessievariabelen opvragen maar dan met een iets andere naam die dezelfde functie vervuld maar dan met een db.
Asp voorbeeldje:
ASP:
1
2
3
4
5
6
7
8
9
| <% Function GeefSessie(Session_id, session_naam) ' Database connectie maken enzo... strSQL = "SELECT " & session_naam & " FROM tblSessies WHERE pkSessionID=" & cstr(Session_id) ' execute en die zaken GeefSessie = rsData(session_naam) End Function %> |
Het kan mooier maar dit moet toch te doen zijn?
[ Voor 18% gewijzigd door Verwijderd op 31-07-2003 17:50 ]
Die db is niet echt handig, want punt een is je sessie inhoud zoals al gezegd een 'file', en geen cookie. Die file kan je gewoon zien te achterhalen.
Waarom je van de tempdir voor server a niet een shared, en bij b stel je in dat je temp dir die shared dir is?
Waarom je van de tempdir voor server a niet een shared, en bij b stel je in dat je temp dir die shared dir is?
|>
Bekijk ook eens de session_set_save_handler() functie in de PHP manual. Daarmee kun je op een mooie manier sessies in een database opslaan, zonder veel bestaande code aan te hoeven passen.
Pagina: 1