php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.10.2004, 20:58  
Gast
 
Beiträge: n/a
Standard Wie sicher sind Sessions?

Hallo liebe Forumsgemeinde,

Ich bin gerade dabei eine kleine Community zu programmieren und überlege, wie ich die Benutzerverwaltung am besten organisiere. Eine zentrale Frage dabei ist für mich, wie ich den "Log-In" Status am sichersten Gestalte.

Um es zu konkretisieren. Wenn der User sich eingelogt hat und auf den einzelnen Seiten hin- und her surft, muss ja irgendwie gewährleistet sein, dass er möglichst fälschungssicher auf jeder Seite als eingelogter Nutzer XY zu erkennen ist.

In einem älteren Skript hab ich das recht brachial umgesetzt. Nach dem einloggen werden Benutzerkennung (ID) und die dazugehörige IP in eine Datenbank geschrieben und bei jedem Aufruf einer Seite neu überprüft. Das war in sofern auch okay, da die Zugriffszahlen recht übersichtlich waren. Die Community die ich gerade programmiere, soll aber möglichst nach oben offen sein. In sofern dürfte ein ständiges Lesen und Schreiben in der Datenbank von Dutzenden Usern gleichzeitig das ganze System doch arg verlangsamen.

Nun bin ich ein PHP-Dummy und bin vor einiger Zeit zufällig über die Möglichkeit der Verwendung von Sessions gestoßen. Und dazu hab ich jetzt mal drei Fragen.

Erstens: Eine Session ist doch grundsätzlich erst einmal nichts anderes als ein zufällig aber eindeutiger String, den ein Dritter eigentlich nicht reprodzieren könnte?
Statt also IP/ID abzugleichen, kann man alternativ auch ID/Session abgleichen und das Ganze auch bequem über einen Cookie abrunden. Oder? Vorteil: Das ständige Lesen/Schreiben in der Datenbank entfällt.

Zweitens: Ist das wirklich sicherer als ein IP Abgleich? Wenn ein User nun keine Cookies zulässt (soll es ja geben), muss die Session ja beständig über die Browserzeile übergeben werden, ist in sofern für potenziell Dritte leichter einsehbar.

Drittens: Ist es empfehlenswert, den User bei jedem Log-In bzw. jedem Wiederbesuch der Seite eine neue Session zuzuteilen? Vermutlich ja. Wie gestaltet man den Wechsel von einer Session auf die andere sinnvoll? Überschreib ich dazu einfach die Variable im Cookie?

Uff... einen Haufen dummer Fragen. Ich weiß nicht ob ich mich verständlich ausdrücken konnte, schließlich bin ich ja ein Dummy. Aber vielleicht kann ja ein Profi schon anhand der Formulierung meiner Fragen erkennen, wo ggf. Verständnisprobleme liegen.

Soweit erst einmal vielen Dank
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 30.10.2004, 12:22  
Gast
 
Beiträge: n/a
Standard

Zu 1. Richtig, da die Session-ID eindeutig ist, kann sie auch zur Identifizierung genutzt werden.

Zu 2. Mit der IP sollte man das nicht machen, hängen User hinter ein und dem selben Router (Firma, Heimnetzwerk), kannst Du mit der IP nichts anfangen. Wenn die ID per URL übergeben wird, wer will damit wirklich was anfangen? Lesbar ist die ID ja nun wirklich nicht, mal eben abgucken geht nicht, Da Session auch nach einer bestimmten Zeit verfallen, hält sich das Risiko doch sehr in Grenzen.

Zu 3. Das passiert automatisch und kannst Du nicht verhindern.

Gruß
phpfan
 
Alt 30.10.2004, 12:26  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Wie sicher sind Sessions?

Zitat:
Zitat von Impi
Erstens: Eine Session ist doch grundsätzlich erst einmal nichts anderes als ein zufällig aber eindeutiger String, den ein Dritter eigentlich nicht reprodzieren könnte?
Statt also IP/ID abzugleichen, kann man alternativ auch ID/Session abgleichen und das Ganze auch bequem über einen Cookie abrunden. Oder? Vorteil: Das ständige Lesen/Schreiben in der Datenbank entfällt.
joa. die sessionID wird man wohl nicht gerade mal so aus dem ärmel schütteln ^^
du brauchst nicht unbedingt ein cookie, es geht auch per URL.
dazu aber:
http://php-faq.info/index.php?aktion...light=fallback
http://php-faq.info/index.php?aktion...light=fallback


Zitat:
Zitat von Impi
Zweitens: Ist das wirklich sicherer als ein IP Abgleich? Wenn ein User nun keine Cookies zulässt (soll es ja geben), muss die Session ja beständig über die Browserzeile übergeben werden, ist in sofern für potenziell Dritte leichter einsehbar.
ja, da die URL inkl. SID z.b. als bookmark gespeichert werden kann. siehe obige links.

Zitat:
Zitat von Impi
Drittens: Ist es empfehlenswert, den User bei jedem Log-In bzw. jedem Wiederbesuch der Seite eine neue Session zuzuteilen? Vermutlich ja. Wie gestaltet man den Wechsel von einer Session auf die andere sinnvoll? Überschreib ich dazu einfach die Variable im Cookie?
er bekommt automatisch eine neue sessionID zugewiesen, wenn er die community verlässt ... brauser schließt .. essen geht .. wiederkommt und sich wieder einloggt

Zitat:
Zitat von Impi
Uff... einen Haufen dummer Fragen.
ich finde, dass das mal gute fragen waren. im vergleich zu den vielen kiddies hier, die nicht mal einen deutschen satz schreiben können .. sondern lieber "klasse-PHP" lernen.

Zitat:
Zitat von Impi
Ich weiß nicht ob ich mich verständlich ausdrücken konnte, schließlich bin ich ja ein Dummy.
die ausdrucksweise hat nur bedingt etwas mit den kenntnisse in einer sprache zu tun .. aber ich finde, dass du das ganz gut hinbekommen hast.

in diesem forum muss man sich nicht für fragen entschuldigen, sofern diesee nicht durch einen einfachen blick ins php-manual beantwortet werden könnten.

schau dir mal diesen thread an:
http://www.phpfriend.de/forum/viewtopic.php?t=15782

die links sollten dir helfen.

ciao ben.
imported_Ben ist offline  
Alt 30.10.2004, 13:19  
Gast
 
Beiträge: n/a
Standard

Erst einmal vielen Dank für eure Antworten. An so Sachen wie Router und gemeinsame 'öffentliche' IPs hab ich beispielsweise gar nicht gedacht. In sofern werde ich auf jeden Fall statt IP die Session zur Identifizierung benutzen, was mich leider in der Programmierung wieder einen Tag zurückwirft

Dennoch bleibt mir eins noch unklar bzw. empfinde ich als etwas wackelig: Wenn jemand nun keine Cookies aktiviert bzw. für meine Seite nicht gestattet, müsste ich die Session ja immer noch Datenbankmässig abgleichen. Intuitiv hab ich so das Gefühl, dass es da noch einige Alternativen geben muss, oder? (wenn man mal von dem lesen und schreiben in einer ordinären Textdatei o.ä. absieht)

Ansonsten werd ich mir jetzt erstmal die Links zu Gemüte führen und in meinem dicken, frisch erworbenen "Kannengießer" Büchlein blättern. Nur finde ich es ganz hilfreich, paralell dazu auch 'echte Menschen' zu befragen. :wink:
 
Alt 30.10.2004, 13:25  
Erfahrener Benutzer
 
Registriert seit: 19.10.2004
Beiträge: 498
marsch
Standard

ähm Sessions werden standardmäßig als einzelne Dateien auf dem Server gespeichert...
__________________
Cheers, Marco
marsch ist offline  
Alt 30.10.2004, 13:33  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Impi
'echte Menschen'
menschen? was sind nochmal menschen? ich kenn nur den pizzaboten ^^
imported_Ben ist offline  
Alt 02.11.2004, 09:26  
Gast
 
Beiträge: n/a
Standard

So. Wollte nur mal mitteilen, dass ich nun alles über Sessions laufen lasse und absolut erstaunt bin, wie simpel das doch geht

Für alle die es interessiert: www.delecat.de/index.php

Die Seite ist nach wie vor im Aufbau. Nur Forum un PN-System laufen derzeit. Aus Kontrollzwecken wird auch die Session auf der Startseite angezeigt etc.pp.

Aber wer Lust hat kann sich ja mal anmelden und gucken, ob Forum und PN-System sinnvoll funktionieren.

Die angemeldeten User werde ich im Laufe der nächsten Tage wieder löschen.
 
 


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
Domainweiterleitung und Sessions emmis PHP Tipps 2007 1 03.08.2007 02:03
2 Sessions Kein Genie PHP Tipps 2006 8 21.07.2006 15:45
Zwei Sessions auf eine Seite? PHP Tipps 2007 3 21.11.2005 00:16
[Erledigt] probleme mit sessions PHP Tipps 2007 1 17.11.2005 10:43
Sessions richtig verwenden der.Chris PHP Tipps 2007 1 13.11.2005 17:39
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
Sessions! DER_Brain PHP Tipps 2005-2 5 30.06.2005 14:51
2 Sessions? PHP Tipps 2005 5 29.04.2005 19:04
Proble mit Sessions PHP Tipps 2005 7 07.02.2005 17:42
[Erledigt] Umstieg von Xampp auf Einzelkomponenten: Sessions aktivieren PHP-Fortgeschrittene 1 19.01.2005 11:26
variablen per sessions übergeben PHP Tipps 2005 5 13.01.2005 12:09
Sessions werden automatisch an Links angehängt PHP-Fortgeschrittene 3 10.12.2004 13:50
Sessions und URL Cloaking PHP-Fortgeschrittene 1 28.11.2004 20:28
[Erledigt] Usermanagement mit Sessions - Sicherheitsprobleme ? PHP Tipps 2004 0 30.06.2004 09:49
Sessions, sessions und nochmal sessions PHP-Fortgeschrittene 0 06.06.2004 00:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fälschungssichere user session, wie programmiere ich eine sichere userverwaltung in php?

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:02 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.