MyBB.de Forum
Mitglieder für anders Login verwenden - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.4.x (https://www.mybb.de/forum/forum-51.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-52.html)
+---- Thema: Mitglieder für anders Login verwenden (/thread-15059.html)



Mitglieder für anders Login verwenden - FlerX1990 - 13.11.2009

Hallo

Ich möchte meine Forumsmitglieder über ihre Forumszugangsdaten auf eine andere Seite einloggen lassen.

Jedoch habe ich festgestellt, das die Passwörter nicht einfach nur md5 verschlüsselt sind.

Habe folgenden Code der leider nicht funktioniert:
login.php
Code:
<?php
session_start();
?>
<body bgcolor="2d5770">
<?php
$verbindung = mysql_connect("localhost", "username" , "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 = md5($_POST["password"]);

$abfrage = "SELECT username, password FROM mybb_users WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);

if($row->password == $password)
    {
    $_SESSION["username"] = $username;
    echo '<center><big
style="color: rgb(255, 0, 0);"><big><big><span
style="font-weight: bold;">Login erfolgreich!</span></big></big></big><br>
</div>
<br>
<br><br><center><b>Klicke auf ';
    echo '<br><br><center><b><a href="../index.php" target="_top">weiter</a>' ;
    echo '<br><br><center><b> um fortzufahren!';

    }
else
    {
    echo "<br><br><center><b>Benutzername und/oder Passwort waren falsch.";
    }

?>


Was kann ich machen, damit dies funktioniert?


RE: Mitglieder für anders Login verwenden - Michael Malin - 13.11.2009

Der Benutzername ist noch zusätzlich mit einem Salt verschlüsselt, der daneben in der DB steht. Wie man das nachmacht? Frag mich nicht. Aber es ist sicher genug. Soweit ich weiß ist der Salt irgendein generierter Code. Aber dazu kann dir jemand von den Profis mehr dazu sagen.


RE: Mitglieder für anders Login verwenden - StefanT - 13.11.2009

Schau mal in die inc/functions_user.php. Dort stehen die entsprechenden Funktionen. Außerdem sollte die Suche bei "salt" einiges finden.


Mitglieder für anders Login verwenden - FlerX1990 - 13.11.2009

Danke an euch beide.

Falls es andere vllt brauchen setze ich den funktionierenden Code nochmal hier ein:

login.php
Code:
<?php
session_start();
?>
<body bgcolor="2d5770">
<?php
$verbindung = mysql_connect("localhost", "benutzername" , "passwort")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("datenbankname") or die ("Datenbank konnte nicht ausgewählt werden");

$username = $_POST["username"];


$abfrage = "SELECT username, salt, password FROM mybb_users WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
$row = mysql_fetch_object($ergebnis);
$password = md5(md5($row->salt).md5($_POST["password"]));
if($row->password == $password)
    {
    $_SESSION["username"] = $username;
    echo '<center><big
style="color: rgb(255, 0, 0);"><big><big><span
style="font-weight: bold;">Login erfolgreich!</span></big></big></big><br>
</div>
<br>
<br><br><center><b>Klicke auf ';
    echo '<br><br><center><b><a href="../index.php" target="_top">weiter</a>' ;
    echo '<br><br><center><b> um fortzufahren!';

    }
else
    {
    echo "<br><br><center><b>Benutzername und/oder Passwort waren falsch.";
    }

?>



RE: Mitglieder für anders Login verwenden - Michael - 13.11.2009

Ein wichtiger Hinweis: Dein Code erlaubt SQL-Injektion, d.h. die Datenbankabfragen können manipuliert werden.

Ersetze
PHP-Code:
$abfrage "SELECT username, salt, password FROM mybb_users WHERE username LIKE '$username' LIMIT 1"
durch
PHP-Code:
$abfrage "SELECT username, salt, password FROM mybb_users WHERE username LIKE '".mysql_real_escape_string($username)."' LIMIT 1"
Siehe: http://de.wikipedia.org/wiki/SQL-Injection