| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

27-09-2005, 09:16
|
|
maddinel
Newbie
|
|
Registriert seit: Sep 2005
Beiträge: 46
|
|
[Variablen] SESSION Variablen
Hi ihr,
ich bin was Session-Variablen in PHP betrifft absoluter neuling und habe ein paar Fragen.
Ich habe jetzt schon mehrfach gesehen, wie ich die Session ID übergeben kann und möchte dies auch mit SID in der URL umsetzen, aber wie funktioniert das Erkennen der SID auf der aufgerufenen Seite? Das stand nirgens. Funktioniert das automatisch, oder muss ich die SID irgendwo übergeben oder wie gweht das?
|

27-09-2005, 09:44
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
es wird automatisch versucht, sobald auf der seite session_start() aufgerufen wird.
einen guten einstieg findest du unter http://tut.php-q.net/sessions.html
|

27-09-2005, 09:58
|
|
maddinel
Newbie
|
|
Registriert seit: Sep 2005
Beiträge: 46
|
|
Danke für die Antwort!
Die Seite hab ich mir schon angesehen :-)
Also reicht es, wenn ich einen Link habe folgendes anzugeben ...
<a href="mysite.php?"<?php echo strip_tags(SID) ?>
...damit die Session ID automatisch weitergeleitet wird? Das wird dann automatisch bei session_start(); in der aufgerufenen Seite überprüft?
|

27-09-2005, 09:59
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Ich denke das Prinzip ist richtig. Nur was willst du noch strip_tagen ???
Die SID sollte keine tags enthalten.
Gruss
tobi
|

27-09-2005, 10:18
|
|
maddinel
Newbie
|
|
Registriert seit: Sep 2005
Beiträge: 46
|
|
Sie "sollte" keine enthalten
Ich werds erstmal mit der übergabe in der url probiern. Aber wie würde es prinzipiell aussehen, wenn ich die SID in nem cookie verstauen und abrufen will?
|

27-09-2005, 10:21
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
du hast die seite bei php-q.net nicht aufmerksam gelesen, oder?
nochmal: http://tut.php-q.net/sessions.html#u4
|

27-09-2005, 10:34
|
|
maddinel
Newbie
|
|
Registriert seit: Sep 2005
Beiträge: 46
|
|
Stimmt sorry.
Die wird dann wohl auch aus nem Cookie automatisch erkannt.
|

27-09-2005, 10:48
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
richtig. session_start() leitet diesen mechanismus ein.
|

27-09-2005, 11:06
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Original geschrieben von jahlives
Nur was willst du noch strip_tagen ???
Die SID sollte keine tags enthalten.
|
Sie sollte nicht - kann aber.
Ich kann einen URL zu deiner Seite manipulieren, und irgendwo als Link hinstellen, wo dann deine User draufklicken.
Damit ist leicht cross site scripting möglich, wenn du die SID selber an deine Links im HTML-Code anhängst - beispielsweise könnte ich darüber ein kleines Javascript in deine Seite einfügen, welches die Cookies deiner Seite bei deinen Benutzern ausliest und an meinen Server übermittelt, o.ä.
Ob PHP beim automatischen umschreiben der Links da selber aufpasst, weiß ich nicht mal genau.
Außerdem wird vermutlich das Starten der Session selber fehlschlagen, wenn die Session-ID, die ich übermittle, nicht erlaubte Zeichen enthält. Aber das Risiko für XSS ist damit trotzdem noch vorhanden.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

27-09-2005, 11:17
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
@whasaga
Zitat:
|
beispielsweise könnte ich darüber ein kleines Javascript in deine Seite einfügen, welches die Cookies deiner Seite bei deinen Benutzern ausliest und an meinen Server übermittelt
|
Eine kurze Verständnisfrage:
Das funzt doch nur wenn du das Script in meinen Webspace einbinden kannst. Ansonsten sollte doch die JS-Beschränkung dafür sorgen, dass nicht über Domainnamen hinaus auf Daten zugegriffen werden kann ( so zumindest habe ich das bis jetzt verstanden
Gruss
tobi
|

27-09-2005, 11:30
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
Zitat:
|
Das funzt doch nur wenn du das Script in meinen Webspace einbinden kannst
|
wenn ich etwas eingeben kann, wie
Code:
<script src="http://meinservder.de/evil.js"></script>
und es bei dir unverändert in der seite angezeigt wird, wird bei jedem besucher deiner seite mein evil-code ausgeführt.
Zitat:
|
Ansonsten sollte doch die JS-Beschränkung
|
welche beschränkung?
|

27-09-2005, 11:54
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Das meinte ich ja, du musst es schaffen, dass das Script unter meinem Domainnamen läuft. Mit Beschränkung meinte ich, dass Cookies nicht von anderen Servern ausserhalb der Domain ausgelesen werden können/sollten.
Gruss
tobi
|

27-09-2005, 12:10
|
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
js läuft beim client, und da er auf deiner seite ist, wird das script auf deiner seite ausgeführt. dann müsste http://de.selfhtml.org/javascript/ob...ent.htm#cookie auch funktionieren.
aber vielleicht irre ich mich, habe soetwas nie getestet.
|

27-09-2005, 12:14
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Original geschrieben von jahlives
Das meinte ich ja, du musst es schaffen, dass das Script unter meinem Domainnamen läuft.
|
Kein größeres Problem - im angenommenen Fall baust du ja den GET-Parameter mit der Session-ID, den ich manipuliert habe, in deine Links ein - ergo ist das alles jetzt Teil deiner Seite.
Du hast:
PHP-Code:
<a href="blah.php?PHPSESSID=<?php echo $_GET['PHPSESSID']; ?>">klick mich doch!</a>
Als GET-Parameter PHPSESSID übergebe ich sowas in der Art:
Code:
1234"></a><a href="javascript:...
Und heraus kommt:
Code:
<a href="blah.php?PHPSESSID=1234"></a><a href="javascript:...">klick mich doch!</a>
Voila, das ist Javascript-Code, der in deiner Seite steht, also im Kontext deiner Seite ausgeführt wird, wenn der Benutzer auf den (zweiten) Link klickt.
Muss ja auch nicht mal ein Link sein - ich könnte auch deinen Link schließen, und nachfolgend einen <script>-Bereich aufmachen, dessen Inhalt dann automatisch interpretiert wird.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|