Cookies -.-
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
domain
falscher benutzername
falsches passwort
fehler
funktion
leite
login
meldung
pawort
result
script
username
vergleich
vielen dank
zeile
zugreifen
-
Ich habe ein doofes Problem...
Nachdem ich in meinem CMS ein paar Sicherheitsl?cken gestopft habe, habe ich etwas an dem Login ver?ndert...
<? $pwd = md5($_POST['pwd']); $user = $_POST['username']; $query = mysql_query("SELECT * FROM alien_users WHERE username = '$user'"); $result = mysql_fetch_array($query); $userid = $result['id']; $checkpwd = $result['password']; if (isset($query)) { if ($checkpwd == $pwd) { setcookie ("a_news_login", $userid, time()+3600); setcookie ("a_news_checkpwd", $checkpwd, time()+3600); //Neue Zeile $outvar = "Erfolgreich eingeloggt. <a href=\"?action=news\">Weiter</a>"; } else { $outvar = "Falsches Passwort"; } } else { $outvar = "Falscher Benutzername"; } ?>
Ich habe einen 2. Cookie eingebaut.
Auf meinem Server hier zu Hause klappt auch alles wunderbar.
Aber sobald ich es ?ber meine Domain bei united-domains leite, wird der Cookie "a_news_login" nicht erstellt.
Das ganze geht ?ber URL Hiding, vielleicht liegt es daran, denn wenn man es direkt ?ber den Webspace aufruft, geht es wieder.
Gibt es eine M?glichkeit, das Problem zu beseitigen?
Vielen Dank im voraus,
-4|_1€|\||>\/\/4|2f -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Da du die Cookies nahezu gleichzeitig setzt, sollten sie auch beide ankommen.
Du kannst das aber ?berpr?fen, indem du die HTTP-Header anschaust, die der Browser vom Server geschickt bekommt. Das geht z.B. mit LiveHTTPHeaders f?r den Firefox.
http://livehttpheaders.mozdev.org/
Ansonsten k?nnte es auch an den Werten liegen, die du den Cookies ?bergibst. Hat $checkpwd auch einen sinnvollen Wert? (Mit var_dump() mal pr?fen) Ich w?rde auch die Passwort-Variablen mit "===" und nicht nur mit "==" vergleichen. Sonst werden n?mlich Werte wie "0", 0, "", FALSE usw. alle als "gleich" gewertet. Das willst du doch sicher nicht. "===" stellt sicher, dass es sich um zwei gleiche Zeichenketten handelt.
Und m?glicherweise schl?gt die Funktion setcookie() aus einem anderen Grund fehl. Dann solltest du dir mal das an den Anfang deines Scripts schreiben:
error_reporting( E_ALL | ( defined('E_STRICT') ? E_STRICT : 0) );
@ini_set('display_startup_errors', TRUE);
@ini_set('display_errors', TRUE);
@ini_set('html_errors', TRUE);
Das gibt wirklich jede Meldung von PHP aus.
-
Es liegt wohl an der Domain. Bei mir zuhause geht es n?mlich und ohne zugriff ?ber die domain auch.
Auch gibt er keine Fehler aus.
-AlienDwarf -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage