php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.06.2005, 17:54  
Gast
 
Beiträge: n/a
Standard Sessions ohne Session-ID

In Sachen Sessions bin ich noch ziemlich blutiger Anfänger, aber ich benötige sie zwingend und muss mich demzufolge mit Ihnen auseinandersetzen.

Mein Problem nun:

Ich starte ganz normal mit session_start() und schreibe dann zur Laufzeit des Scripts, on-the-fly, Daten in das Array $_SESSION[] ... nun, das klappt soweit ganz gut, aber bei einem grösseren Test kam es vor dass Sessions anscheinend vertauscht worden sind.
User A hatte plötzlich die Daten von User B in seiner Session und somit auch dessen Zugriffsrechte (fatal wenn User B ein Administrator ist).

In meinem Test-Script übertrage ich niemals diese ominöse Session-ID und es gab auch nur einmal dieses Problem (es war nicht reproduzierbar). Kann ich davon ausgehen dass dies ein Server-Problem war oder muss ich zwingend mit der Session-ID handlen um solche Dinge zu vermeiden?
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.06.2005, 17:58  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Sessions arbeiten so oder so mit Session IDs, wie denn sonst auch, sie sind nur nicht immer sichtbar (-> Session über Cookies). Dass eine Session die Variablen vertauscht wäre mir neu. das einzige Risiko ist dass User A (in deinem Beispiel) an die noch gültige Session-ID von User B herankommt (Admin), was allerdings eher unwarscheinilch ist..
Chr!s ist offline  
Alt 13.06.2005, 17:59  
Gast
 
Beiträge: n/a
Standard

Hmm, erstmal danke für die Info ... aber ich bin mir unsicher weil eben dies passiert ist. In vielen Tutorials habe ich Quelltexte gesehen die halt die Session-ID "mitschleppen" ... wozu auch immer ... und ich will nur sicher gehen dass dieser Bug nicht von mir produziert wurde.
 
Alt 13.06.2005, 18:15  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

ich habe noch nie von so einem Bug gehört, und in dieser Richtung sind Sessions wirklich sicher, sehr sicher sogar, ich denke da brauchst du dir keine Sorgen zu machen.
Chr!s ist offline  
Alt 13.06.2005, 18:24  
Gast
 
Beiträge: n/a
Standard

Habe irgendwo (bitte nicht fragen, wo, wieß ich nicht mehr), dass ein Sechser im Lotto unglaublich viel wahrscheinlicher ist, als dass jemand eine gültige Session erwischt
 
Alt 13.06.2005, 18:57  
Gast
 
Beiträge: n/a
Standard

Zitat:
gesehen die halt die Session-ID "mitschleppen" ... wozu auch immer ... und ich will nur sicher gehen dass dieser Bug nicht von mir produziert wurde.
Wenn Cookies ausgeschaltet sind tappst du dann im Dunkeln.
 
Alt 13.06.2005, 18:58  
Benutzer
 
Registriert seit: 02.02.2005
Beiträge: 41
Netspire
Standard

Meine Theorie:

Ich wette, dass du dich zum Testen mit dem normalen User und dem Admin zeitgleich eingeloggt hast.

Z.B. hast du dich erst als normaler User eingeloggt und danach in einem anderen Fenster als Admin. Und jetzt hast du wahrscheinlich das erste Fenster aktualisiert und dich gewundert, dass du Admin bist....
Netspire ist offline  
Alt 14.06.2005, 06:21  
Gast
 
Beiträge: n/a
Standard

@Netspire ... nee, der andere User saß ca. 1000km von mir entfernt an seinem eigenen Rechner
 
Alt 14.06.2005, 09:31  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Michigras
Wenn Cookies ausgeschaltet sind tappst du dann im Dunkeln.
Schnell ne Nebenfrage.

Ich gebe die session_id() bei meinen scripts immer mit. Bsp:
PHP-Code:
<?php
echo '<a href="seite1.php?sid=';
echo 
session_id();
echo 
'">Gehe zu Seite 1</a>';
?>
Ist es richtig, dass im wenn Cookies deaktiviert sind die variable "sid" selber erkannt wird??
 
Alt 14.06.2005, 12:17  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von oaki
Ist es richtig, dass im wenn Cookies deaktiviert sind die variable "sid" selber erkannt wird??
Das ist so lange falsch, bis Du vor jedem session_start() mit session_name('sid') den Namen geändert hast.

Warum nutzt Du nicht die Konstante SID? In der steht das drin, was erforderlich ist, wenn Du die session_id manuell an die Links kleben willst.

Formulare:
PHP-Code:
<?php
if (SID != '')
 
printf('<input type="hidden" name="%s" value="%s">'session_name(), session_id());
?>
header:
PHP-Code:
<?php
$script 
'/index.php?foo=bar';

session_write_close(); # vorzeitiges Schreiben erzwingen
$trans = (ini_get('session.use_trans_sid)) # testen
  ? session_name() . '
=' . session_id()
  : SID;
header('
Locationhttp://' . $_SERVER['SERVER_NAME'] . $script . '&' . $trans); # header mit absoluten URI
exit; # Script terminieren!
?>
 
 


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
Frage zu Sessions und Variablen in Session sternschnuppe99 PHP Tipps 2008 9 18.02.2008 13:30
Session Problem peder PHP-Fortgeschrittene 4 30.10.2006 12:26
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Vlib -> include -> sessions bytebuster PHP Tipps 2006 3 07.06.2006 09:17
Sessions und ein "Kann doch nicht sein?!" Curanai PHP Tipps 2006 10 15.05.2006 12:09
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
wieder mal sessions und session side-effect nieselfriem PHP Tipps 2005-2 17 12.10.2005 19:37
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
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
Session wird nicht erkannt PHP Tipps 2004 11 29.10.2004 14:07
blöde sessions =) PHP Tipps 2004 2 13.08.2004 17:55


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