mysql - password funktion / cookies / pw?

Scorp1337

Erfahrenes Mitglied
Hallo =)
ich möchte einen Login für einen user machen. Es soll keine Registration oder sonstiges geben und jetzt hab ich mich gefragt, wie das ganze am sichersten gemacht werden könnte.

Ich hab vor kurzem mal durch Zufall bei mysql die Funktion "PASSWORD" entdeckt und frag mich, wie ich das richtig einsetze!

Im Moment hab ich eine kleine Tabelle erstellt, ein Feld namens "pass" und dort einen Eintrag "blub" hineingeschrieben (verschlüsselt sieht er so aus "6512bee55cdabecf").

Die Frage ist jetzt jedoch, wie ich in meiner PHP Datei abfragen kann, ob das eingegeben Passwort stimmt?

Gruß Scorpion

PS: ich wollte die "sicherheitsabfrage" nicht einfach per if($passwort == "blub") machen, da ansonsten das pw in der datei sthet und meiner ansicht nach das ganze nicht gerade sicher ist.


++edit++
Mir ist gerade eine Idee gekommen... würde das funktionieren
Code:
SELECT COUNT(ID) AS ID FROM tabelle WHERE pass = PASSWORD('$PW')
Und dann die Abfrage if($row["ID"] == 1) echo "Passwort richtig"; ?!
 
Zuletzt bearbeitet:
Code:
SELECT COUNT(ID) AS ID FROM tabelle WHERE pass = PASSWORD('$PW')

Das müsste grundsätzlich funktionieren.

Und dann die Abfrage if($row["ID"] == 1) echo "Passwort richtig"; ?!

Das dürfte eigentlich nicht funktionieren. Was du brauchst ist http://www.php.net/mysql_num_rows

Ansonsten müsste password eigentlich das gleiche Hashing-Verfahren nutzen wie md5 - bin ich mir aber nicht sicher, schau das am besten mal in der Dokumentation nach. md5 gäbe es jedenfalls als PHP-Funktion. Aber wie gesagt, deine Variante müsste auch funktionieren
 
PHP:
include_once("_mysql.php");
$passwort = md5($_POST["pass"]);
$name = $_POST["name"];
$site = isset($_GET["site"]) ? $_GET["site"] : "site";
if($site == "login")
	{
	$abfrageLogin = "SELECT name, passwort FROM allgemein WHERE ID = 1";
	$queryLogin = mysql_query($abfrageLogin);
	while($login = mysql_fetch_assoc($queryLogin))
		{
		if($passwort == $login["passwort"] and $name == $login["name"])
			{
			setcookie("TEST", "abc", time() + 60); 	
			$success = 1;
			}
		else	$success = 0;
		}
	}

Habs jetzt so gelöst.
In der DB steht das Passwort per md5 verschlüsselt und somit ist auch die abfrage möglich.

Gruß Scorpion
 
Zurück