mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 12:31 Benutzername: Passwort: Auto-Login

Thema: Sicherheit von Sessions vom 08.01.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Sicherheit von Sessions
Autor Nachricht
bigdeal
Threadersteller

Dabei seit: 14.07.2005
Ort: Aßlar
Alter: 40
Geschlecht: Männlich
Verfasst So 08.01.2006 13:31
Titel

Sicherheit von Sessions

Antworten mit Zitat Zum Seitenanfang

Hi,
meine Frage heute: "Wie sicher sind Sessions (in php)?"

Kann der User auf Sessionvariablen zugreifen? Ohne den Server zu hacken natürlich, aber wenn ich dem User beim Login einen bestimmten Wert zuteile (Bsp. $_SESSION['status'] = 1), kann der User irgendwie an diese Daten rankommen und ändern?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht


Ort: -
Alter: -
Verfasst So 08.01.2006 13:48
Titel

Antworten mit Zitat Zum Seitenanfang

Nein, das kann er nicht. Die Gefahr besteht eher darin, dass die Session-ID mehr oder weniger öffentlich zugänglich ist (vor allem, wenn du die Sessionid, was standardmäßig aktiviert ist, in einem keks speicherst). Sensible Daten würd ich in jedem Fall nochmal gegenprüfen. Ich benutz immer ne Funktion isRegUser() oder ähnlich, in der ich noch einmal relevante Daten abgleiche - IP-Adresse (ist aber ebenfalls sinnleer, falls mehrere User an einem Router hängen), sessionid etc..., dazu speicher ich diese Daten bei erfolgreichem Login in meiner Benutzer-Datenbank.

Zuletzt bearbeitet von am So 08.01.2006 13:50, insgesamt 1-mal bearbeitet
 
Anzeige
Anzeige
bigdeal
Threadersteller

Dabei seit: 14.07.2005
Ort: Aßlar
Alter: 40
Geschlecht: Männlich
Verfasst So 08.01.2006 22:40
Titel

Antworten mit Zitat Zum Seitenanfang

der tipp mit der ID in der User-DB ist wirklich gut, das werde ich auf jeden Fall umsetzen. Ich prüfe auch nochmal bei allen wichtigen Dingen extra gegenüber der User-DB, ob der Benutzer wirklich berechtigt ist, die Funktion durchzuführen.

Achja, eins noch, kann ich aufgrund der Sessions auch schauen, ob jemand noch online ist? Wie ist das am besten zu berwerkstelligen? (es loggt sich ja nicht jeder User über die Logout Funktion aus). Könnte mit vorstellen, bei jeder Usereingabe die Session IDs gegenüber der User-DB zu prüfen, aber das gibt irgendwann wahrscheinlich den Overkill was SQL-Queries angeht. Geht das auch irgendwie einfacher? Hab Sessions bisher nur zum Speichern von Login Infos verwendet, da muss aber noch mehr mit gehen, wie mit eigentlich allen sinnvollen Erfindungen in Sachen PHP *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht


Ort: -
Alter: -
Verfasst So 08.01.2006 23:59
Titel

Antworten mit Zitat Zum Seitenanfang

Das geht so einfach gar nicht. Wenn der User sich nicht ausloggt, ist er eben noch so lange sichtbar, bis die Session beendet wird. Diesen Timeout kannst du ja festsetzen. Aber die Webseite kann leider nicht riechen, wann der User den Rechner ausmacht, da http nunmal ein zustandsloses Protokoll ist.

Also reicht auch n normaler Vergleich über ne gespeicherte Sessionvariable $_SESSION["isLoggedIn"] oder sowas, ist die Session beendet, verschwindet diese ja automatisch. Willst du allerdings alle eingeloggten Benutzer anzeigen, so empfiehlt es sich, diesen Status in der Datenbank zu speichern und entsprechend abzufragen, da hast du wohl recht... n "normales" DBMS auf nem normalen Rechner sollte das schon verkraften...
 
Doppelplusgut

Dabei seit: 06.10.2005
Ort: Zimmer 101
Alter: 55
Geschlecht: Männlich
Verfasst Mo 09.01.2006 00:01
Titel

Antworten mit Zitat Zum Seitenanfang

Siehe dazu auch http://faq-php.de/q/q-code-user-online.html
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
beeviZ

Dabei seit: 30.09.2002
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 09.01.2006 00:49
Titel

Antworten mit Zitat Zum Seitenanfang

naja. ich hab ne funktion wo alle 90sek n zeitfeld inner db mit dem timestamp des letzten seitenaufrufs aktualisiert wird. wenn die letzte aktion 3min her is wird der user offline gezeigt. ich denk das is ok so.
  View user's profile Private Nachricht senden
dastef

Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 09.01.2006 10:05
Titel

Antworten mit Zitat Zum Seitenanfang

Läuft aber eigentlich auf das Ding vom Schinken raus, nur dass
du den Timeout "künstlich" auf 1 1/2 Minuten runterziehst .. dann
kannste auch den session-Timeout runtersetzen *zwinker*

Genauer wirds deshalb auch nicht wirklich ..
  View user's profile Private Nachricht senden
 
Ähnliche Themen Sessions Problem
PHP-Sessions mit Xampp 1.5.0
Sessions-Problem bei PHP
[PHP] Sessions - Problem
[PHP] Login mit Sessions
problem mit sessions
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.