WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP Sessions (http://www.wcm.at/forum/showthread.php?t=150118)

hurt 11.11.2004 21:52

da wird es zB auch nicht anders gemacht

http://www.tutorials.de/tutorials9684.html

ich benutze sessions das erste mal und weiß nicht wie sicher das ist, aber wenn ichs schon in vielen tutorials gelesen hab dass es so geht?

ruprecht69 12.11.2004 00:02

Zitat:

Original geschrieben von Potassium
ajo und ne eigentschaft von sessions ist, dass wenn du den browser zu machst, die session ungültig wird.
das glaube ich nicht tim ...

kommt immer auf die Einstellung (in dem Fall php.ini) an. Sessions können Jahre aktiv sein (schon mal 'remember me' irgendwo angeklickt und nach dem nächsten reboot warst du immer noch eingeloggt?)).

jak 12.11.2004 00:16

Die remember me Sachen gehen über Cookies.

Jak

Potassium 12.11.2004 07:16

Zitat:

Original geschrieben von ruprecht69
das glaube ich nicht tim ...

kommt immer auf die Einstellung (in dem Fall php.ini) an. Sessions können Jahre aktiv sein (schon mal 'remember me' irgendwo angeklickt und nach dem nächsten reboot warst du immer noch eingeloggt?)).

ad1: siehe jak
ad2: anklicken tu ich gar nix. weil fürn apache gibts unter windows afaik kein grapisches konfig-menu.

cg32 12.11.2004 11:11

Die Sessions sind aber serverseitig noch aktiv (wie soll der Server auch mitkriegen, dass du deinen Browser geschlossen hast).

Deswegen ist auch Session Hijacking etc. möglich.

Normale PHP Sessions sind sehr unsicher.

Je nachdem wie sicher man es haben möchte sollten folgende Dinge selbst implementiert werden:

- Timeout der Session (zB mittels Session Storing in DB)
- Gegenstelle prüfen (zB mittels IP o. Agent oä. - kann probleme geben zB bei AOL Proxy, der über mehrere IPs geht - besser mittels eines "Fingerprints" der zB aus Timestamp, Agent, Referrer etc. besteht und auf jeder Seite neu generiert wird)
- Transaction IDs
- IMMER bestimmte Variablen prüfen, auf jeder Seite - zB Password als MD5 Hash mit der DB vergleichen. Sonst reicht mir die SessionID um die Session zu hijacken.

oä.

hurt 18.11.2004 08:16

"- IMMER bestimmte Variablen prüfen, auf jeder Seite - zB Password als MD5 Hash mit der DB vergleichen. Sonst reicht mir die SessionID um die Session zu hijacken."

meinst du ich soll das password als md5() als session-variable und in der datenbank speichern?

oder soll ich einfach mit einem php script das passwort immer zur naechsten seite weitergeben mit $_GET, dort mit dem datenbankeintrag vergleichen und wenns stimmt erst mit der session weitermachen?

Pulse-Seeker 18.11.2004 09:06

wenn dann gibs mit $_POST weiter da bei $_GET die daten an die url angehängt werden, bei $_POST nicht!

cg32 18.11.2004 12:21

Zitat:

Original geschrieben von hurt
"
meinst du ich soll das password als md5() als session-variable und in der datenbank speichern?

Genau - in der DB steht der MD5 Hash des Passworts und mittels Sessionvariable wird er ebenfalls übergeben.
Diese beiden Werte bei jedem Aufruf gegenchecken.

Potassium 18.11.2004 14:18

Zitat:

Original geschrieben von hurt
"

meinst du ich soll das password als md5() als session-variable und in der datenbank speichern?


genau das :)

FordPrefect 18.11.2004 17:30

Zitat:

Original geschrieben von Pulse-Seeker
wenn dann gibs mit $_POST weiter da bei $_GET die daten an die url angehängt werden, bei $_POST nicht!
Gibt es eine Möglichkeit Variablen über $_POST mittels eines Links weiterzugeben?
mfg
Peter


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag