SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

 
 
Themen-Optionen Ansicht
  #1  
Alt 01.08.2009, 13:50:30
SevenTeen SevenTeen ist offline
Anfänger
 
Registriert seit: Aug 2009
Alter: 33
Beiträge: 6
Session Problem

Guten Tag, bin neu hier und würde mich über ein wenig Hilfe freuen.

Problematik:
********************************************************************** ***

Ich arbeite im Moment an einem Browsergame und will die Sicherheit hinter dem Login
ein wenig verfeinern.

Darum habe ich vor Usern zu verbieten, dass sie sich parallel ein 2. Mal mit dem gleichen
Account anmelden können. (Würde zu Problemen beim zb. schreiben in die DB führen)
Ich bin zu folgender Lösung gekommen:

Bei erfolgreichem Anmelden erstelle und sichere ich die jetzige session_id() unter der ID
des users in der SQL Datenbank und kann somit in der darauf folgenden ingame.php
anprüfen, ob die jetzige, der in der Datenbank (quasi von damals beim einloggen)
entspricht.

Loggt sich also ein 2. User unter dem gleichen Account ein bekommt dieser eine NEUE
session_ID(), diese wird darauf in die Datenbank geschrieben.

So. Wenn jetzt User 1 die Seite refresht kommt es wie gesagt zu einem neuen Abprüfen.
User 1 vergleicht seine session_ID() mit der in der Datenbank. Nun steht aber eine neue
drinnen. Er wird darauf informiert, dass sich ein 2. User angemeldet hat und wird gekickt.
Ich denke soweit ist alles zu verstehen.

Mein Problem:
********************************************************************** ***

Sobald User 1 seinen Browser refresht und es zur Prüfung kommt:
übernimmt User 1 tatsächlich den Wert der session_id() von User2 !!

Somit sind Browser session_id() und Datenbank session_id() gleich und der User darf
passieren.

Kleiner Ausschnitt aus der login.php

PHP-Code:
session_unset(); 
session_destroy();
            
session_id(rand_str()); /* habe es mit regenerate_session_id() ersetzt, im glauben
die funktion würde schuld daran sein, dass die sid von User 1 eben auch refresht wird.
hier wird nur ein neuer String generiert (32 zeichen)
*/
session_start(); 
Es wird also vor dem Login die alte Session 100% zerstört und eine neue mit neuer sID
angefangen. Warum bekommt User 1 dennoch nach refresh der Seite plötzlich die neue
zugewiesen? Seltsamerweise werden auch Rohstoffe, Ingame-Name etc kopiert =/


PS: Da ich schon einen ganzen Aufsatz geschrieben habe, wollte ich nicht auch noch
dutzende PHP Zeilen einbinden. Für mehr Code (zur Verständlichkeit) bitte melden, dann
poste ich zb. die komplette Login.php und Ingame.php

Geändert von SevenTeen (01.08.2009 um 14:07:31 Uhr)
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem mit Google wg Session IDs nexus2 PHP für Fortgeschrittene und Experten 9 06.12.2007 19:46:41
Problem mit Lokalisierung eines SESSION - Problems Fabian85 PHP für Fortgeschrittene und Experten 5 03.10.2005 20:17:54
session problem mit session id Fabian85 PHP für Fortgeschrittene und Experten 24 01.02.2005 08:30:19
Session Problem mare26 PHP für Fortgeschrittene und Experten 1 08.12.2004 13:30:39
Session Cookies und use_trans_sid Problem Funjoy PHP für Fortgeschrittene und Experten 22 26.07.2004 22:16:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:35:34 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt