PHP acties zonder herladen
Hallo,
Ik heb zelf een erg uitgebreid login systeem gemaakt met een administratie paneel en heb het hele systeem erg goed beveiligd. maar een ding lukt nog niet:
Als er een bezoeker is ingelogd en er wordt op hetzelfde account op een andere computer ingelogd dan moet de bezoeker die het allereerst heeft ingelogd op dat account worden uitgelogd.
Hoe krijg ik dat voor elkaar zonder dat de bezoeker eerst de pagina opnieuw hoeft op te komen of ergens op klikt?
Verder is er ook een functie voor administrators om een lid uit te loggen of te blokkeren voor een aangegeven tijd. maar op het moment dat de administrator op de submit knop klikt moet het direct gebeuren, zonder dat het lid een andere pagina bezoekt of herlaadt.
Ik heb zelf een erg uitgebreid login systeem gemaakt met een administratie paneel en heb het hele systeem erg goed beveiligd. maar een ding lukt nog niet:
Als er een bezoeker is ingelogd en er wordt op hetzelfde account op een andere computer ingelogd dan moet de bezoeker die het allereerst heeft ingelogd op dat account worden uitgelogd.
Hoe krijg ik dat voor elkaar zonder dat de bezoeker eerst de pagina opnieuw hoeft op te komen of ergens op klikt?
Verder is er ook een functie voor administrators om een lid uit te loggen of te blokkeren voor een aangegeven tijd. maar op het moment dat de administrator op de submit knop klikt moet het direct gebeuren, zonder dat het lid een andere pagina bezoekt of herlaadt.
Gesponsorde koppelingen:
Ikzelf heb ooit eens een inlogsysteem gemaakt, waarin de inlogsessies (niet te verwarren met PHP-sessions) in de database werden opgeslagen. Aan de hand van tweetal cookies met je userID, en een unieke hash, welke vergeleken werden in de database, kon je ze op afstand uitloggen.
Code (verouderd, maar werkzaam):
http://multisess.clayweb.nl
Code (verouderd, maar werkzaam):
http://multisess.clayweb.nl
Dat gaat je niet zondermeer lukken omdat de geladen pagina nu eenmaal in de cache van de browser staat. Het enige dat ik kan verzinnen is dat je op de achtergrond continue een AJAX proces laat draaien dat om de x aantal seconden controleert of de huidige sessie nog wel de geldige sessie is. Zo niet, dan kun je de gebruiker ergens anders heen sturen waardoor hij 'uitgelogd' wordt.
Nadeel van dit is natuurlijk wel dat het aantal requests naar je server explodeert naarmate het aantal simultaan ingelogde bezoekers toeneemt. Ik zou dus ook zeker overwegen of dit wel is wat je wilt!
Nadeel van dit is natuurlijk wel dat het aantal requests naar je server explodeert naarmate het aantal simultaan ingelogde bezoekers toeneemt. Ik zou dus ook zeker overwegen of dit wel is wat je wilt!
Dan zou je inderdaad met PUSH/GET moeten gaan werken, zoals FaceBook dat ook doet.. Maar dan moet je wel een krachtige server hebben, met NGINX en geen Apache..
Dus als ik het goed begrijp kan de ene gebruiker niet zorgen dat er op een andere pagina iets gebeurt, elke verandering heeft pas effect als dit wordt geladen door een pagina te bezoeken of te herladen
Ja, dat is de meest gangbare manier...
ok dan doe ik gewoon dat
Gaat het echt om zoveel volk? Zou die server het niet aankunnen?
Als je daar een ietwat intelligent systeem van maakt, is het goed mogelijk dat de server het perfect aan kan.
Gelijk welke chat op een site, moet het ook op deze manier doen, he. Er draaien toch genoeg chat vensters op php/Apache.
Als je daar een ietwat intelligent systeem van maakt, is het goed mogelijk dat de server het perfect aan kan.
Gelijk welke chat op een site, moet het ook op deze manier doen, he. Er draaien toch genoeg chat vensters op php/Apache.
Gewijzigd op 19/01/2012 13:32:51 door Kris Peeters
Werk je met session?
Zo ja kan je dan niet het session bestand uitlezen met alle actieve sessions?
Zo ja kan je dan niet het session bestand uitlezen met alle actieve sessions?
jawel ik kan gewoon zien of iemand is ingelogd of niet



