Hallo,
ich habe ein Registrierformular indem ein 64 Zeichen langer Salt generiert wird und dann mit sha256 Verschlüsselung in der Datenbank (Feld: userPasswordSalt) gespeichert wird, zusätlich zum dem sha256 verschlüsseltem Passwort (Feld: userPassword).
Jetzt sitze ich gerade an dem Login und würde darum bitten, dass ihr euch das mal anschaut und sagt ob das ganze Sinn ergibt und was man verbessern kann. Ich hoffe ich habe das mit Salt alles richtig verstanden
Hier der Code vom Login
Gruß stedoo
Alles anzeigen
ich habe ein Registrierformular indem ein 64 Zeichen langer Salt generiert wird und dann mit sha256 Verschlüsselung in der Datenbank (Feld: userPasswordSalt) gespeichert wird, zusätlich zum dem sha256 verschlüsseltem Passwort (Feld: userPassword).
Jetzt sitze ich gerade an dem Login und würde darum bitten, dass ihr euch das mal anschaut und sagt ob das ganze Sinn ergibt und was man verbessern kann. Ich hoffe ich habe das mit Salt alles richtig verstanden
Hier der Code vom Login
Gruß stedoo
Quellcode
- <?php
- // Formularverabeitung
- // gesendetes Passwort verschlüsseln
- $sendPassword = hash('sha256',$_POST["password"]);
- // Eingabe reinigen
- $sendUsername = make_safe($_POST["username"]);
- $sendUsername = make_safe_sql($_POST["username"]);
- // Datenbank nach Ergebniss durchsuchen
- $sql_userLoginInfo = mysql_query("SELECT userID, userName, userFirstName, userLastName, userPassword, userFailedLogin FROM user_info WHERE userName='$sendUsername'");
- $sql_userLoginInfoCount = mysql_num_rows($sql_userLoginInfo);
- $row = mysql_fetch_object($sql_userLoginInfo);
- if($sql_userLoginInfoCount > 0) // Wenn Benutzer existiert
- {
- $sendPassword = make_safe($sendPassword);
- $sendPassword = make_safe_sql($sendPassword);
- $sendLoginPasswordHash = $sendPassword . $row->userPasswordSalt; // gesendetes Passwort salzen und verschlüsseln
- $userPasswordHash = $row->userPassword . $row->userPasswordSalt; // gespeichertes Passwort salzen und verschlüsseln
- if($row->userFailedLogin >= 3)
- {
- echo "<p class='error'>Du hast 3 mal das falsche Passwort eingegeben. Dein Account wurde aus Sicherheitgründen gesperrt.<br /> Bitte wende dich an den Administrator der Homepage.</p>";
- }
- elseif($sendLoginPasswordHash == $userPasswordHash)
- {
- $_SESSION["userID"] = $row->userID;
- $_SESSION["userLogin"] = true;
- $_SESSION['KCFINDER'] = array();
- $_SESSION['KCFINDER']['disabled'] = false;
- // Session ID erstellen
- $sessionID = uniqid();
- //Session ID verschlüsseln
- $sessionID_sha1 = sha1($sessionID);
- // Cookie setzen
- setcookie("activeSession","$sessionID_sha1",time()+$settings_sessionLifeTime); // 7200s = 2h
- //IP Adresse auslesen
- $ipAddress = getenv ("REMOTE_ADDR");
- // Sicherheit
- $userID = mysql_real_escape_string($row->userID);
- $sessionID2 = mysql_real_escape_string($sessionID_sha1);
- $ipAddress2 = mysql_real_escape_string($ipAddress);
- // Benuter Update
- mysql_query( "UPDATE user_info SET userOnlineStatus='1', userLastLogin='$currentDate', userSessionID='$sessionID2', userFailedLogin='0', userCurrentIP='$ipAddress2' WHERE userID='$userID'" );
- // Log Eintrag
- writeLog("login", "$username ($ipAddress2) hat sich angemeldet.");
- ?>
- <?php
- echo "<p class='success'>Du hast dich erfolgreich eingeloggt.<br /><a href='index.php?page=Startseite'>Falls die automatische Weiterleitung nicht funktioniert, klicken Sie bitte hier!</a></p>";
- echo"<meta http-equiv='refresh' content='3; URL=index.php?page=Startseite'>";
- }
- else
- {
- $ipAddress = getenv ("REMOTE_ADDR");
- $ipAddress5 = mysql_real_escape_string($ipAddress);
- echo "<p class='error'>Das eingegebene Passwort ist falsch.<br /><a href='index.php?page=Startseite'>Falls die automatische Weiterleitung nicht funktioniert, klicken Sie bitte hier!</a></p>";
- writeLog("failedLogin", "von IP Adresse: $ipAddress");
- mysql_query( "UPDATE user_info SET userFailedLogin=(userFailedLogin+1) WHERE userID='$userID'" );
- echo"<meta http-equiv='refresh' content='3; URL=index.php?page=Startseite'>";
- }
- }
- else
- {
- echo"<p class='error'>Benutzername konnte nicht gefunden werden.<br /><a href='index.php?page=Startseite'>Falls die automatische Weiterleitung nicht funktioniert, klicken Sie bitte hier!</a></p>";
- echo"<meta http-equiv='refresh' content='3; URL=index.php?page=Startseite'>";
- }
- ?>
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von stedoo ()