php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.03.2007, 09:07  
Erfahrener Benutzer
 
Registriert seit: 03.07.2003
Beiträge: 292
PHP-Kenntnisse:
Fortgeschritten
dh1sbg
Standard Session ID

Hallo!

kann ich davon ausgehen, dass eine Session ID in PHP(5) eine Zahl ist, die in ein Long Integer Feld passt?

Vielen Dank für Eure Infos

Bruno
dh1sbg ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.03.2007, 10:27  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo dh1sbg,

die Session ID ist sowas ähnliches wie ein md5-Hash und enthält Zahlen (0-9) und Buchstaben (a-f). SInnvollerweise packst du das in ein Feld mit char(32) oder dergleichen und legst einen Schlüssel über das Feld.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 17.03.2007, 09:12  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von dr.e.
SInnvollerweise packst du das in ein Feld mit char(32) oder dergleichen und legst einen Schlüssel über das Feld.
Einen 8-16 stelligen Schlüssel der wiederum aus Groß- und Kleinbuchstaben sowie Zahlen besteht, mit dem ich einem Benutzer später die Session ID wieder eindeutig zuweisen kann? Muss ich diesen Schlüssel dann auch im Cookie der Session speichern?
__________________
Weyoun ist offline  
Alt 17.03.2007, 10:07  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Weyoun,

Zitat:
Einen 8-16 stelligen Schlüssel der wiederum aus Groß- und Kleinbuchstaben sowie Zahlen besteht, mit dem ich einem Benutzer später die Session ID wieder eindeutig zuweisen kann?
Die Frage verstehe ich nicht ganz?! Was willst du mit der Session ID oder einer anderen ID bezwecken? Sessions dienen allgemein der Identifikation von Benutzern innerhalb eines Besuchs einer Webseite. Möchtest du Benutzer innerhalb einer Datenbank identifizieren, ist hierzu ein Primary Key mit auto_increment besser geeignet.


Zitat:
Muss ich diesen Schlüssel dann auch im Cookie der Session speichern?
Die Session ID ist für dich innerhalb des PHP-Codes immer verfügbar, wenn eine Session gestartet wurde. Du kannst diese bei Bedarf mit session_id() abrufen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 17.03.2007, 10:12  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ist der erste Satz eine Frage? Erstell doch einfach eine Session und lass dir den Wert anzeigen, dann siehst du ja wie diese Session ID aussieht.
http://de.php.net/session_id

Zur zweiten Frage: Um die Erhaltung der Session-ID musst du dich üblicherweise nicht kümmern. Höchstens bei JavaScript-Weiterleitungen musst du die Weitergabe der Session-ID über die URL explizit angeben, falls der Benutzer Cookies deaktiviert hat.
Bei Links und Formular-Actions übernimmt das PHP.
Zergling-new ist offline  
Alt 17.03.2007, 10:19  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Eigentlich meinte ich damit folgendes:

Ein Benutzer loggt sich in die Administration ein. Er bekommt eine Session ID zugewiesen, die im Cookie gespeichert wird. Soweit klar. Er macht den Browser zu und loggt sich nicht aus. Somit bleibt die Session erhalten. 1 Minute später kommt er wieder und wird somit automatisch eingeloggt, da die Session noch aktiv ist. Wenn aber jetzt irgendjemand seine Session ID (durch URL Übermittlung, weil auf dem "Einsatzserver" keine Cookies für Sessions erlaubt sind, was weiß ich) bekommen hat, könnte der sich doch genau so als "Er" einloggen, und hätte somit alle seine Rechte. Mit dieser 8-16 stelligen ID könnte man dann doch jedoch überprüfen ob er es wirklich ist.

Das ginge natürlich auch mit IP oder Browserheader aber das ist mir ehrlich gesagt zu ungenau. Bei AOL Benutzern z.B. ändert sich die IP doch alle 2-3 Klicks durch die AOL Proxys. Wie würdet ihr das denn überprüfen?
__________________
Weyoun ist offline  
Alt 17.03.2007, 10:24  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich verstehe jetzt nicht so ganz wie deine 8-16 stellige ID das verhindert.
Du kannst einen User nicht eindeutig identifizieren - mit einem Cookie kannst du es zumindest versuchen.
Zergling-new ist offline  
Alt 17.03.2007, 10:30  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Zergling
Ich verstehe jetzt nicht so ganz wie deine 8-16 stellige ID das verhindert.
Du kannst einen User nicht eindeutig identifizieren - mit einem Cookie kannst du es zumindest versuchen.
Wenn die 8-16 stellige ID ebenfalls im Cookie gespeichert wird, dann wird die Session ID mit der anderen ID verglichen ob sie mit den Daten in der Datenbank übereinstimmen. Soll heissen beim Einloggen werden beide IDs (Session und die andere) in dem Datensatz des Benutzers gespeichert. Kommt er wieder gibt es den Abgleich. Ein Benutzer der die Session ID per URL Übermittlung erhalten hat, hat keinen Cookie der eine 8-16 stellige ID enthält, und ist somit auch nicht der Benutzer der sich nicht richtig ausgeloggt hat.

Sorry wenn ich da nen Denkfehler drin habe, aber bin da noch nicht so ganz bewandert auf dem Gebiet Sessions.
__________________
Weyoun ist offline  
Alt 17.03.2007, 10:39  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Wenn die Session-ID im Cookie gespeichert wird, kann ein Fremder auch nicht die Session eines anderen übernehmen, es sei denn er kopiert das Cookie gleich auch noch mit. Dann ist deine 8-16 stellige ID aber auch mitkopiert.

Die Session-ID ist für den Benutzer ja nur in der URL ersichtlich, wenn er zumindest dieses Cookie abgelehnt hat. Dann kannst du dich aber nicht darauf verlassen, dass er ein weiteres Cookie mit deiner 8-16 stelligen ID akzeptiert.
Zergling-new ist offline  
Alt 17.03.2007, 10:41  
Neuer Benutzer
 
Registriert seit: 22.01.2005
Beiträge: 23
Weyoun
Weyoun eine Nachricht über ICQ schicken
Standard

Ja damit hast Du offensichtlich recht. Dann wird mir wohl nichts anderes übrig bleiben, als den Benutzer doch per IP und Browserheader zu überprüfen.
__________________
Weyoun ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
session array Timo Trallala PHP Tipps 2006 18 22.04.2006 13:45
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Session abschaltbar?? Probleme mit Objekten in Session! becks123 PHP-Fortgeschrittene 3 19.09.2005 15:47
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
Session error nach Umstellung auf PHP 5 PHP Tipps 2005 15 13.05.2005 14:35
verliere Session Sonja PHP Tipps 2005 3 27.04.2005 09:32
Session Problem PHP-Fortgeschrittene 3 18.02.2005 14:37
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
phpbb eine session id einem bestimmten benutzer zuordnen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.