Seite 1 von 3
Passwort verschlusselung entschlusseln!
Verfasst: 11.12.2005 11:56
von 2005
ALso, ich hab einen Chat gefunden und eingebaut!
Da ich aber nicht will, dass sich der User neu anmelden muss, hab ich die Daten von der Datenbank benutzt! Aber jetzt muss man immer sein Passwort verschlüssel eingeben, um in den Chat zu kommen!
Kann man irgentwie das Passwort nachdem man es in ein LOGIN-Feld eingetippt hat, zum vergleichen Verschlüsseln?
Verfasst: 11.12.2005 12:00
von fanrpg
Code: Alles auswählen
$pass = $_POST['password'];
if(md5($pass) == $db_pass)
{
// Code zum Einloggen
}
$pass ist der eingetragene Wert, $db_pass ist der Wert aus der DB den du vorher abfragen musst.
Und das kannste dir auch mal anschauen:
http://de3.php.net/manual/de/function.md5.php
Nach md5 werden nämlich auch die phpBB Passwörter verschlüsselt.
Verfasst: 11.12.2005 12:02
von 2005
Oh, das ging aber schnell!
Wie kann ich das aus der Darenbank abfragen?
Verfasst: 11.12.2005 12:13
von fanrpg
Code: Alles auswählen
$sql = "SELECT user_password, user_id, username FROM `".USERS_TABLE."` ORDER BY user_id DESC";
if( !( $result->$db->sql_query($result) ) )
{
message_die(GENERAL_ERROR, 'Kann Userdaten nicht abfragen', '', __LINE__, __FILE__, $sql);
}
while($userrow = $db->sql_fetchrow($result))
{
$db_pass = $userrow['user_password'];
$db_name = $userrow['username'];
// Der andere Code
}
So...
Verfasst: 11.12.2005 17:50
von Pyramide
Sinnvoller ist es, wenn man gleich die Datenbank filtern lässt, also z.B.
Code: Alles auswählen
"SELECT user_id FROM " . USERS_TABLE . " WHERE username='$user' AND user_password='". md5($pass) . "'"
Wenn man deinen Code hier auf phpBB.de laufen lassen würde, würden jedesmal alle ca. 30.000 Benutzer eingelesen.
Verfasst: 14.12.2005 14:35
von 2005
Wie ist jetzt der ganze Code?
Verfasst: 14.12.2005 14:48
von hagily
Pyramide hat geschrieben:Sinnvoller ist es, wenn man gleich die Datenbank filtern lässt, also z.B.
Code: Alles auswählen
"SELECT user_id FROM " . USERS_TABLE . " WHERE username='$user' AND user_password='". md5($pass) . "'"
Wenn man deinen Code hier auf phpBB.de laufen lassen würde, würden jedesmal alle ca. 30.000 Benutzer eingelesen.
Habe es durch die datenbank laufen lassen aber folgendes Problem:
Code: Alles auswählen
MySQL meldet: Dokumentation
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '"SELECT user_id FROM " . USERS_TABLE . " WHERE username='$user'
Wie ist denn der richtige code?
Verfasst: 14.12.2005 17:37
von Jan500
hi
der code von pyra ist nur für php bzw noch spezieller fürs phpbb

da er USERS_TABLE eingebaut hat und das wird nachher vom phpbb mit deinem prefix und tabele name ergänzt
außerdem ist die md5 auch ne php funktion

alsomusst du das in ner php einbauen
gruß Jan
Verfasst: 14.12.2005 17:46
von Condor
Hi,
das mit der USERS_TABLE stimmt. Die md5-Funktion kann man aber auch direkt in die SQL-Abfrage einbauen.
Verfasst: 15.12.2005 15:22
von LeoManiac
so ists schöner
Code: Alles auswählen
"SELECT `user_id`
FROM `" . USERS_TABLE . "`
WHERE username='" . $user . "'
AND `user_password`='". md5($pass) . "'"