Abfrage-Fehler

Ups, da hab ich meinen Editor nicht zur Hand gehabt -.-

PHP:
<?php

function db_query($q){
    
// funktion zum queryen ^^

$result = mysql_query($sql);

if($result){
    return $result;
}else{
    echo "Datenbankfehler. <br><br>SQL: <pre>".$q."</pre>"."<br>Fehler:<pre>".mysql_error()."</pre>";

die();
}

}

    $file = "\db.php";
    $connection = require dirname(__FILE__) .$file;
    // ich gehe davon aus, dass hier true returnt wird, wenn die db geklappt hat?

    if ($connection) {
        $nick = mysql_real_escape_string($_POST['username']);
        $passwort = md5($salt.$_POST['passwort']);

        $sql = "SELECT * FROM `user` WHERE `passwort` = '$passwort' AND `user` = '$nick'";
        $result = db_query($sql);

        if (mysql_num_rows($result)) {
            $rows = mysql_fetch_assoc($result);
            $_SESSION['ID'] = $rows['id'];
            $_SESSION['USERNAME'] = $rows['user'];
// Hier noch eine kombi setzen, die den benutzer einzigartig macht (mit passwort drin), z.b. md5(passwort.$salt2.usernme.id.$salt3), und den benutzer so identivizieren
$_SESSION["kombi"] = md5($rows["passwort"].$salt2.$rows['user']);


}

else{
    die( "kein zugang.");
    
}





}

else {

echo "Couldn't open ".$file."!";

}

//hier dann die kombi oben abtesten, btw. auf anderen seiten dann auch so -> kein 2ter login

$nick = mysql_real_escape_string($_SESSION['username']);
    

        $sql = "SELECT * FROM `user` WHERE `user` = '$nick'";
        $result = mysql_query($sql) OR die(mysql_error()." => ".mysql_errno());

        if (mysql_num_rows($result)) {
            $rows = mysql_fetch_assoc($result);
            $user = $rows['user'];
$passwort = $rows["passwort"];


}

$ueberpruefung = md5($passwort.$salt2.$user);

  if ($ueberpruefung) {

$username = $_SESSION['username'];

$sql = "SELECT * FROM `mail` WHERE `emp_user` = ".$username." AND `status` = 'ungelesen' ";

     $result = db_query ($sql);
    $anzahl = mysql_num_rows($result);

?>

Ich hab übrigens auch Salts eingebaut ($salt und $salt2)... Google mal -> sorgt für mehr Sicherheit. Ich konnte deinen Hash problemlos als "" identifizieren -> das passwort wurde oben auch nicht übergeben, sollte jetzt gehn.
 
Zuletzt bearbeitet:
hallo,

habe mich nun mit deinem script beschäftigt und bekomme es absolut nicht ans laufen, evt weil ich nur ein ausschnitt aus meinem script angegeben habe und nicht alles, so war evt nicht sein zweck komplett zu verstehen.

Es handelt sich um eine Zeile einer tabelle, wenn die Session ID nicht belegt ist wird der login bereich angezeigt. Es die Session ID belegt, dann ist in dieser zeile zu eine weitere navi zu sehen, die abhängig von der user id ist.

Die Session ID wird durch die anmeldung vergeben und ich kann sie so über die ganze Seite nutzen um auch zugriffe nur dann zu erlauben.

Salt2 habe ich bei google gesucht habe nur gefunden das man es als verschlüsslung nimmt, natürlich ist damit auch eine eindeutige zuweisung möglich, was ich jedoch an der user ID auch kann.

Ich habe noch nicht allzuviel erfahrung im umgang mit php/mysql daher mag meine aussage evt nicht die zutreffendste sein.
 
hash sha-1 oder SHA-224/256/384/512

Hallo leute,

ich bin bei google auf einige Forun gestoßen als ich daraufhingewiesen wurde, das ich $salt2 in meine passwortabfrage einbauen sollte.

Nun sieht die sache aber ein wenig anders aus nachdem ich mich etwas tiefer in die Materie eingelesen habe.

hash
sha-1 oder SHA-224/256/384/512

wobei SHA-512 wohl das sicherste sein soll was derzeit zu bieten ist. Der aufbau:

PHP:
<?php

// Erzeugung von Passwort-Hash
$password = "geheim";
$hash = hash('sha256', $password);
echo $password . ' : ' . $hash;

// Prüfung (beispielhaft)
$hash = get_user_hash($_POST['username']); // Fiktive Funktion um Hash aus der Datenbank zu laden
if ($hash == hash('sha256', $_POST['password'])) // Prüfung ob Passwort stimmt
{
     echo "Passwort stimmt überein";
}

?>

Ist nicht mein script will auch keine Wrbung für fremdweiten machen.

Sollte ich nun alle meine kleineren seiten auf sha ändern oder reicht der altbewährte hash noch aus?

Wie denkt ihr darüber oder gibts etwas noch sichereres als Sha?

lg
 
Zurück