Sessions in XAMPP
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ansatz
aufruf
beispiel
benutzername
code
datum
domain
einloggen
fehlersuche
gezogen problem
http
nachteil
prinzip
problem
quellcode
register
seltsames forum
sicherheitsrisiko
test
vergeben
-
Hallo,
habe mir eine Seite von meinen lima server runter gezogen....
Problem, seit dem ich die Seite nun auf XAMPP starte speicehrt er keine sessions mehr!
ich habe 01815 xampp installiert und keine configuration geändert, muss ich da was machen ?
Vielen Dank. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hmm so ist das schwer zu sagen...
schreibe mal zu Begin in deine Index.php:
<? error_reporting(E_ALL); ?>
Dadurch werden alle Fehler durch PHP angezeigt... evtl. hilft dies ja bei der Fehlersuche
Grüßle -
Wie speicherst du die Session-Daten?
In neueren PHP-Versionen kann man Sessions einfach per $_SESSION["variablename"] = "irgendwas"; setzen, in älteren musste man das über $variable = "foo"; session_register("variable"); verwenden. Evtl. liegt das Problem daran. Ansonsten poste doch einfach mal deinen Quellcode. -
boar, sry dass ich mich jetzt mal weiger^^ überblick meinen "dreckscode" iwie nicht so wirklich ...(ist 2.5 jahre alt^^)
also (frag mich bitte nich warum die test heißt :D):
session_register('test');
$test = $name;
ist register haha :P
Registieren tut er die auch ...
ein|i:2;test|s:6:"XXX";
nun ist das Problem wenn ich
$test aufrufe sagt mir error_reporting, dass die Variable unbekannt ist hab ich jetzt iwas mit Sessions vergessen?
EDIT:
ok: $test = $_SESSION['test'];
anstatt
session_register('test');
wenn ich die Sessions nutze
(aber frage dazu warum funkt das auf lima?!^^)
Beitrag geändert: 29.10.2008 22:58:50 von mclman
Beitrag geändert: 29.10.2008 23:01:22 von mclman -
Anderer Ansatz: Hast du register_globals auf "off"? Das ist hier bei lima anscheinend standardmäßig eingeschaltet (ein wenig unverständlich btw, aber egal), bei xampp standardmäßig aus (IIRC).
Edit: Sollte in der php.ini zu finden sein.
Beitrag geändert: 30.10.2008 0:27:18 von tavern -
Anderer Ansatz: Hast du register_globals auf "off"? Das ist hier bei lima anscheinend standardmäßig eingeschaltet (ein wenig unverständlich btw, aber egal), bei xampp standardmäßig aus (IIRC).
Edit: Sollte in der php.ini zu finden sein.
Beitrag geändert: 30.10.2008 0:27:18 von tavern
ey, wunderbar da ist der Unterscheid :)
mal schauen, ob ich den Code nun umschreib oder was auch immer aber ich kann mich einloggen :)
Gibet n nachteil von den Globals ?
PS: Du benötigst selber Karma um Karma zu vergeben! *imaginäres Karma gib* -
Nunja der entscheidende Nachteil von Globals ist, dass die Webseite da mehr angreifbar ist Variablen aus der URL werden dann mitunter in deinen Quellcode übernommen und ausgeführt, wodurch jemand sich zum Bsp. einloggen könnte und evtl. Admin Status erlangt.
Hab dir mal bissl Karma gegeben ...scheinst ja schon länger dabei und nett zu sein.
Grüßle -
Gibet n nachteil von den Globals ?
PS: Du benötigst selber Karma um Karma zu vergeben! *imaginäres Karma gib*
Wie schon angesprochen, sind die globals ein mögliches Sicherheitsrisiko - weswegen mich auch wundert, dass die hier standardmäßig aktiviert sind ;)
Vielleicht ein kleines Beispiel - zugegeben, ein wenig sinnfrei, aber es geht ja ums Prinzip (nach http://www.webmasterpro.de/coding/article/php-sicherheit-register-globals.html):
<?php if ($username == "Admin") { $is_admin = true; } if ($is_admin) { // Total geheimer Adminbereich. } ?>
Das Beispiel geht davon aus, dass per Cookie ein Benutzername übergeben wird und verwendet diesen zur Prüfung auf Adminrechte. Durch register_globals kann man die Variable allerdings auch z.B. durch www.domain.de/script.php?username=Admin belegen. Alternativ könnte man auch durch www.domain.de/script.php?is_admin=1 direkt zum Adminbereich gelangen. Okay, das sind beides eher Beispiele schlechten Programmierstils, aber trotzdem.
Obiges Beispiel in besser:
<?php $is_admin = false; // Variable vorbelegen. // Und direkt auf $_COOKIE prüfen. if ($_COOKIE['username'] == "Admin") { $is_admin = true; } if ($is_admin) { // Total geheimer Adminbereich. } ?>
Jetzt wird nur noch der Benutzername aus dem Cookie beachtet und die Variable is_admin vorbelegt. Ich würde das Skript so oder so nicht zur Adminprüfung einsetzen (sich auf ein Cookie verlassen ist auch nicht sicher, aber das führt jetzt evtl. zu weit), aber ich hoffe, das Prinzip wird klar ;)
Außerdem soll register_globals wohl in PHP 6 entfernt werden (http://de3.php.net/register_globals), die Verwendung empfiehlt sich schon allein deswegen nicht.
Na inzwischen hast ja richtiges Karma ;)
Edit: Okay, der Backslash war anscheinend nur in der Vorschau... seltsames Forum.
Beitrag geändert: 30.10.2008 10:22:51 von tavern -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage