Ankündigung

Einklappen
Keine Ankündigung bisher.

Login MySQL / PHP SICHER????

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • splash_iem
    hat ein Thema erstellt Login MySQL / PHP SICHER????.

    Login MySQL / PHP SICHER????

    hallo zusammen,

    ich habe jetzt einen Login geschrieben und frage mich jetzt ob er auch sicher genug ist...
    Vielleicht Schaut ihr es euch mal an.

    Danke im Voraus und mit freundlichem Gruß

    PHP-Code:
    <?php
    session_start
    ();
    ?>

    <?php

    $verbindung 
    mysql_connect("localhost""BENUZER" "PASSWORT")
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");

    mysql_select_db("DATENBANK") or die ("Datenbank konnte nicht ausgewählt werden");

    $username $_POST["username"];
    $password $_POST["password"];

    $abfrage "SELECT NICKNAMENSPALTE, KENNWORTSPALTE FROM TABELLE WHERE Nickname = '".$username."'";
    $ergebnis mysql_query($abfrage)
    or die(
    "Error: $abfrage <br>".mysql_error);


    while (
    $row mysql_fetch_object($ergebnis))

    if(
    $row->Kennwort == $password)
        {
        
    $_SESSION["username"] = $username;
        echo 
    "Login erfolgreich. <br> <a href=\"geschuetzerbereich.html\">Geschützer Bereich</a>";
        }
    else
        {
        echo 
    "Benutzername und/oder Passwort waren falsch. <a href=\"loginformular.html\">Login</a>".$row->Kennwort."test";

        }

    ?>

  • gurisingh
    antwortet
    Ist es nicht sicherer sha512 mit einem random salt zu verwenden für das Password.

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Du solltest aber nicht vergessen das Passwort noch mit einem Salt zu versehen!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Du verwendest deine Spalte Passwort weiterhin, machst ein MD5 Hash update auf alle (UPDATE tabelle SET `password`=MD5(`password`) (könnte Syntax Fehler haben, habs nicht ausprobiert) und vergleichst von nun am im PHP Code die Passwörter mit gehashten Eingaben.

    Einen Kommentar schreiben:


  • ToxicToast
    antwortet
    Anscheinend schon =D, sieht man doch

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Du hast bereits eine Spalte "Kennwort". Zur Zeit speicherst du dort das Passwort im Klartext. Zukünftig solltest du aber VOR dem speichern das KLARTEXT Passwort durch die md5() Funktion jagen und das Ergerbnis speichern.

    Bei der Abfrage des Passwortes liest du das (schon fertig gehashte) Passwort aus der DB und vergleichst es mit dem md5-Hash der Benutzereingabe.

    Das sollte aber für einen Fortgeschrittenen keine Hürde darstellen!?

    Einen Kommentar schreiben:


  • splash_iem
    antwortet
    sry falsch formuliert....

    ich meine wenn ich $password = md5($_POST["password"]); statt $password = $_POST["password"]; verwende, und die tabellenspalte md5 nenne... muss ich dann nicht iwie auf die spalte zuweisen?

    Einen Kommentar schreiben:


  • taurus
    antwortet
    einfach mal ein wenig grundlagen lernen und dir beispiele im netz ansehen...

    md5 hat was mit der variable zu tun.. du übergibst ja variablen an das mysql query welches dir das speichert..

    genauso sql injection stichwort mysql_real_escape_string... hat auch was mit variablen zu tun.. und nicht mit den feldernamen in mysql ^^

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von splash_iem Beitrag anzeigen
    hab ich mir doch gedacht

    wie muss ich die spalte denn nennen?

    der name ist doch dein ding

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Zitat von splash_iem Beitrag anzeigen
    wie muss ich die spalte denn nennen?
    Das bleibt dir überlassen

    Einen Kommentar schreiben:


  • splash_iem
    antwortet
    hab ich mir doch gedacht

    wie muss ich die spalte denn nennen?

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Es muss natürlich auch der md5 Hash des Passwortes in der Datenbank gespeichert werden!

    Einen Kommentar schreiben:


  • splash_iem
    antwortet
    das mit dem $password = md5($_POST["password"]); klappt iwie nicht...

    der gibt mir dann immer aus, dass das bn und oder pw falsch ist - warum?

    Kann das vll an der Tabelle liegen?

    Code:
    CREATE TABLE benutzerdaten (
      Id Int(11) NOT NULL auto_increment,
      Nickname VarChar(50) NOT NULL default '',
      Kennwort VarChar(50) NOT NULL default '',
      Nachname VarChar(50) NOT NULL default '',
      Vorname VarChar(50) NOT NULL default '',
      PRIMARY KEY (Id)
    )

    Einen Kommentar schreiben:


  • splash_iem
    antwortet
    Vielen Dank für die Antworten

    Ich setze mich noch einmal ran, und dann poste ich es vll noch einmal

    LG

    Einen Kommentar schreiben:


  • ToxicToast
    antwortet
    "Programme die Hash's entschlüsseln können" gut, dann war hier die Wortwahl unglücklich gewählt
    Btw. ich glaub das hier wird Offtopic XD

    @splash_iem
    Prüfen tust du das mit isset.
    Tutorials dazu gibts wie Sand am Meer =p

    Einen Kommentar schreiben:

Lädt...
X