php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.08.2006, 17:22  
Neuer Benutzer
 
Registriert seit: 05.08.2006
Beiträge: 8
andi24
Standard Problem bei Login-Script

Hallo,

ich bastle gerade an folgendem Login-Script:

PHP-Code:
<?php
session_start
();
include(
'var.inc.php');
$username $_POST['username'];
$password $_POST['password'];
echo 
"Test 1";
if ((!isset(
$_POST['username'])) OR (!isset($_POST['password']))) 

die (
"Sorry, aber ohne Name bzw. Passwort geht hier nichts !"); 
}
echo 
"Test 2";
$conn = @ mysql_connect($dbserver,$dbuser,$dbpass); 
if (!
$conn
{  
die (
"Sorry, Verbindungsversuch zur Datenbank ist fehlgeschlagen !"); 
}
mysql_select_db($dbname,$conn);
$query "SELECT username, pass, level FROM user WHERE username = '".$username."'"
$result =  mysql_query($query,$conn);
$zeileholen =  mysql_fetch_array($result,MYSQL_ASSOC); 
mysql_close($conn);
if (!
$zeileholen

die (
"Sorry, aber dieser Name ist leider nicht bekannt !"); 
}
if (
$zeileholen["pass"] <> $password

die (
"Sorry, aber dieses Passwort passt nicht zum Usernamen !");
}
echo 
"Test 3";
$level $zeileholen["level"];
session_register('username'); 
session_register('level'); 
header ("Location:admin.php"); 
?>


Die Benutzerdaten werden von einer html-Seite an diese Seite übergeben. Ich habe testweise 3 echo-ausgaben eingebaut, wobei das Problem ist, dass "Test 1" und "Test 2" ausgegeben werden, aber nicht "Test 3", obwohl das ja die Stelle ist, an der ich mit dem "normalen Code" weitermachen wollen würde...weiß jemand woran das liegt? Bin für jeden Hinweis dankbar.

Gruss, Andi
andi24 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.08.2006, 19:04  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo und herzlich willkommen hier im Forum

ich kann dein Problem grade nicht nachvollziehen.
Setz mal ein exit; hinter echo "Test 3". Daran sollte es zwar nicht liegen, aber header('Location: ..'); ist ja eine Weiterleitung, da macht ein echo davor wenig Sinn, selbst zu Debug-Zwecken.

Abgesehen davon auch unbedingt mal ein error_reporting(E_ALL) ganz an den Anfang des Skriptes schreiben und mit ini_set('display_errors', true) die Fehlerausgabe aktivieren.

Zusätzliche Hinweise:
- du wirst mit E_ALL möglicherweise einige Hinweise ausgegeben bekommen, zB über undeklarierte Variablen. Einfach vorher mit isset() die Existenz dieser Variablen prüfen und entsprechend handeln (Default setzen oder Skript umleiten/abbrechen).
- session_register() ist veraltet, je nach dem wie aktuell deine PHP Version ist, solltest du nurnoch mit dem $_SESSION Array arbeiten.
- nach header('Location: ..') immer ein exit; setzen - sonst kann es passieren, dass du danach noch Code ausgeführt bekommst, was du ja nicht willst. Konsequent gemacht, sollte es dir einige merkwürdige Verhalten ersparen.
- die die()s in den if-Bedingungen gehören eingerückt, das würde den Code etwas übersichtlicher machen
Zergling-new ist offline  
Alt 05.08.2006, 19:05  
Erfahrener Benutzer
 
Registriert seit: 21.07.2005
Beiträge: 209
pepe24
Standard

- Kommt denn keine Fehlermeldung? (die() bricht das Skript ab.)
- Wo ist das error_reporting(E_ALL)?
- session_register ist veraltet. Nimm doch einfach die $_Session var.
- wieso benutzt Du einmal einfache Anführungszeichen im array element und manchmal doppelte?
- wieso vergleichst Du nicht gleich auch das Passwort mit der SQL anfrage? Du arbeitest hier mit unverschlüsselten daten!
- bei header(... solltest du mit absolut URI's arbeiten. ist sauberer. (Auch wenn das vllt. nicht das Problem hier ist )


EDIT: hm da hab ich wohl zu lahm getippt
pepe24 ist offline  
Alt 05.08.2006, 19:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ach ja und eins noch, Stichwort: SQL Injections:
http://de.wikipedia.org/wiki/SQL_Injection
http://php3.de/manual/de/security.da...-injection.php
Zergling-new ist offline  
Alt 11.08.2006, 22:13  
Neuer Benutzer
 
Registriert seit: 05.08.2006
Beiträge: 8
andi24
Standard

Danke für die Hinweise. Da ist wohl mehr schiefgelaufen als ich dachte. Ich werde das ganze nochmal überarbeiten und mich ggf. nochmal melden. error_reporting(E_ALL) war jedenfalls schonmal ein guter Hinweis
andi24 ist offline  
Alt 11.08.2006, 22:39  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Schau eventuell mal hier rein:
Tutorial: Ein Loginsystem basierend auf Sessions
In Verbindung mit
Tutorial: Sichere PHP-Webapplikationen schreiben
imported_Ben ist offline  
 


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
Problem mit meinem Login System DJ Nuno PHP Tipps 2008 9 16.10.2007 16:44
login script macht pobs fadass PHP Tipps 2007 9 04.12.2005 10:53
problem mit login PHP Tipps 2005-2 11 28.10.2005 14:10
Problem mit Login Bereich (Sessions, MySQL) nicobischof PHP Tipps 2005-2 6 19.10.2005 09:54
mal funktionierts, mal nicht - großes Problem mit PHP Script nicobischof PHP Tipps 2005-2 5 01.10.2005 16:13
Login Script : Addon??? Chrisber PHP Tipps 2005-2 0 27.09.2005 16:11
Login Script... Beitragsarchiv 1 16.08.2005 02:21
Login Script PHP Tipps 2005-2 7 02.07.2005 04:53
brauche dringend hilfe für ein login script PHP Tipps 2005 17 22.05.2005 21:56
Problem bei login Script PHP Tipps 2005 10 23.03.2005 21:52
Problem mit Script auf verschiedenen Servern PHP Tipps 2005 40 22.03.2005 17:26
[Erledigt] PHP Script Problem PHP Tipps 2005 12 06.01.2005 12:38
[Erledigt] problem mit login skript | mysql | cookie PHP Tipps 2004-2 13 07.12.2004 19:01
Problem mit Login Formular PHP Tipps 2004 7 16.09.2004 16:48
Kleines Prob mit Login Script PHP Tipps 2004 2 09.07.2004 01:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
login script umleiten

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