php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.01.2011, 11:48  
Neuer Benutzer
 
Registriert seit: 12.01.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
IamTheDj befindet sich auf einem aufstrebenden Ast
Standard Einloggen mit nicht Registriertem Nick möglich

Hallo,

ich bin gerade dabei, mein erstes PHP Script zu schreiben.
Ein Einloggscript mit MySQL.
Nun habe ich aber ein Problem. Der Username "IamTheDj" existiert nun in meiner DB mit einem Passwort. Gebe ich nun ein falsches Psw ein, wird natürlich der Zugang zum mitgliederbereich nicht gewährt. Gebe ich allerdings als Nick "IDJ" ein und das richtige Passwort, so komm ich in den Mitgliederbereich, wobei der Nick "IDJ" gar nicht existiert.

Irgendwie bin ich nun ratlos.

Hier meine login.php
PHP-Code:
<?php

echo "<form action=\"login2.php\" method=\"post\">
Dein Username:<br>
<input type=\"text\" size=\"24\" maxlength=\"50\"
name=\"username\"><br><br>

Dein Passwort:<br>
<input type=\"password\" size=\"24\" maxlength=\"50\"
name=\"password\"><br>

<input type=\"submit\" value=\"Login\">
</form>"
?>
Und hier die login2.php
PHP-Code:
<?php
session_start
();

include 
'config.php';

$username $_POST['username'];
$passwort md5($_POST['password']);

$abfrage "SELECT username, passwort FROM user";
$ergebnis mysql_query($abfrage);
$row mysql_fetch_object($ergebnis);

if(
$row->passwort == $passwort)
    {
    
$_SESSION["username"] = $username;
    echo 
"Login erfolgreich. <br><meta http-equiv=\"refresh\" content=\"3; URL=user.php\"><a href=\"user.php\">Sollten Sie nicht automatisch weitergeleitet werden, bitte hier klicken.</a> ";
    }
else
    {
    echo 
"Benutzername und/oder Passwort waren falsch. <a href=\"login.php\">Login</a>";
    }

?>
IamTheDj ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.01.2011, 11:54  
Erfahrener Benutzer
 
Registriert seit: 16.09.2010
Beiträge: 100
PHP-Kenntnisse:
Fortgeschritten
N4bla befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$abfrage "SELECT username, passwort FROM user";
$ergebnis mysql_query($abfrage);
$row mysql_fetch_object($ergebnis);

if(
$row->passwort == $passwort)
    {
    
$_SESSION["username"] = $username;
    echo 
"Login erfolgreich. <br><meta http-equiv=\"refresh\" content=\"3; URL=user.php\"><a href=\"user.php\">Sollten Sie nicht automatisch weitergeleitet werden, bitte hier klicken.</a> ";
    }
else
    {
    echo 
"Benutzername und/oder Passwort waren falsch. <a href=\"login.php\">Login</a>";
    } 
So funktioniert das auch nicht. Du musst deine SQL-Abfrage erstmal umstellen, z.b.
"SELECT `username`,`password` FROM `user` WHERE `username`=$username";
Da er bisher einfach alle Passwörter aus der DB holt, und dann jedes Passwort abfragt, ob das gleich dem eingegebenem passwort ist. Nach username wird garnicht erst gefragt!
Außerdem ist md5 keine sichere Hashfunktion.. Nimm sha1/sha256 dafür. Und schützt deine abfrage vor SQL-Injection.
N4bla ist offline   Mit Zitat antworten
Alt 12.01.2011, 11:56  
Erfahrener Benutzer
 
Registriert seit: 10.02.2009
Beiträge: 929
ragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Menschragtek ist ein sehr geschätzer Mensch
Standard

Dein Code ist "schmafu" (schwachsinn

PHP-Code:
$username $_POST['username']; 
$passwort md5($_POST['password']); 

$abfrage "SELECT username, passwort FROM user"
$ergebnis mysql_query($abfrage); 
$row mysql_fetch_object($ergebnis); 

if(
$row->passwort == $passwort
    { 
1. Kein WHERE in der Abfrage
2. SQL Injection gefahr!
3. du prüfst nur ob das pw übereinstimmt, aber keinen Namen

Edit: zu langsam
ragtek ist offline   Mit Zitat antworten
Alt 12.01.2011, 12:20  
Neuer Benutzer
 
Registriert seit: 12.01.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
IamTheDj befindet sich auf einem aufstrebenden Ast
Standard

Vielen dank für eure Antworten.
Ist ja auch irgendwie logisc.h

Naja, nach 2 Tagen PHP kennt man sich halt noch nicht wirklich aus.
Bezüglich den anderen beiden Sachen, muss ich mir das mal genauer ansehen.
IamTheDj ist offline   Mit Zitat antworten
Alt 19.01.2011, 17:56  
Neuer Benutzer
 
Registriert seit: 12.01.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
IamTheDj befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ragtek Beitrag anzeigen
2. SQL Injection gefahr!
Wie kann man sich genau vor diesen schützen?
IamTheDj ist offline   Mit Zitat antworten
Alt 19.01.2011, 18:02  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Wie kann man sich genau vor diesen schützen?
http://www.php.net/manual/de/securit...-injection.php
Asipak ist offline   Mit Zitat antworten
Antwort


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
Kann mich nicht in´s Admin- Menü Einloggen MrShadow1305 Scriptbörse 14 12.04.2011 11:33
Scriptsuche Bräuchte eine Art Event Script schnellst möglich für unseren Verein sebbo Scriptbörse 0 03.09.2010 15:12
ist es möglich, <INPUT ...> variabel zu gestalten dieter26 PHP Tipps 2010 14 16.01.2010 22:29
Frage.: Dymanisches Datum im Drop Down Menü möglich? badboygoofy JavaScript, Ajax und mehr 1 24.07.2009 14:34
login über internet explorer nicht möglich Pitbull1982 PHP Tipps 2009 2 19.01.2009 21:16
Bestellformular-Ist es möglich ? hektor1 PHP Tipps 2008 4 27.02.2008 12:39
Kein Einloggen auf php-Seiten möglich. Ragnarr PHP Tipps 2008 4 28.12.2007 11:15
registrieren / einloggen / persönlicher mitgliederbereich PHP Tipps 2006 3 07.02.2006 19:00
Problem mit Loginscript, kann mich nicht einloggen PHP Tipps 2005-2 3 01.10.2005 17:32
[Erledigt] Login, LogIn, Anmelden, Einloggen -&amp;amp;amp;amp;gt; ??? Off-Topic Diskussionen 20 14.07.2005 11:01
Fernes Einloggen PHP Tipps 2005 18 08.04.2005 22:47
Einloggen mit nicht Registriertem Nick möglich beim einloggen?!?! PHP Tipps 2004-2 1 25.11.2004 10:31
[Erledigt] user soll sich gelcihzeitig nur einmal einloggen dürfen PHP Tipps 2004-2 3 12.11.2004 21:05
[Erledigt] Autmoatisches Einloggen PHP-Fortgeschrittene 6 18.10.2004 08:13
kein Direktlink... möglich? PHP Tipps 2004 5 27.07.2004 11:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
nick einloggen, $username = $_post[\username\]; $password = md5($_post[\password\]); $abfrage = \select username, mysql, user a

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