PHP acties zonder herladen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan terhuijzen

jan terhuijzen

19/01/2012 13:10:37
Quote Anchor link
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.
 
PHP hulp

PHP hulp

27/04/2024 03:19:12
 
- Ariën  -
Beheerder

- Ariën -

19/01/2012 13:12:52
Quote Anchor link
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
 
Joren de Wit

Joren de Wit

19/01/2012 13:15:51
Quote Anchor link
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!
 
Chris -

Chris -

19/01/2012 13:19:54
Quote Anchor link
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..
 
Jan terhuijzen

jan terhuijzen

19/01/2012 13:21:44
Quote Anchor link
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
 
Joren de Wit

Joren de Wit

19/01/2012 13:23:10
Quote Anchor link
Ja, dat is de meest gangbare manier...
 
Jan terhuijzen

jan terhuijzen

19/01/2012 13:25:48
Quote Anchor link
ok dan doe ik gewoon dat
 
Kris Peeters

Kris Peeters

19/01/2012 13:32:13
Quote Anchor link
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.
Gewijzigd op 19/01/2012 13:32:51 door Kris Peeters
 
Lendl Verschoor

Lendl Verschoor

19/01/2012 13:33:21
Quote Anchor link
Werk je met session?
Zo ja kan je dan niet het session bestand uitlezen met alle actieve sessions?
 
Jan terhuijzen

jan terhuijzen

19/01/2012 13:39:49
Quote Anchor link
jawel ik kan gewoon zien of iemand is ingelogd of niet
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.