PDA

Vollstndige Version anzeigen : mp5 verschlsselung


joker
31-07-2004, 14:54
hi, wie kann ich am besten einer mp5 password verschlsselung aus einer variablen mit einer aus der datenbank vergleichen?

xabbuh
31-07-2004, 15:13
Original geschrieben von joker
hi, wie kann ich am besten einer mp5 password verschlsselung aus einer variablen mit einer aus der datenbank vergleichen?

mp5? Du meinst wohl md5.


<?php
//$var enthlt ein mit md5 verschlsseltes Passwort

$sql = "SELECT
feld
FROM
tabelle
ORDER BY
feld2";
$result = mysql_query($sql);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
if($row['feld'] == $var) {
echo "Passwort ist richtig!";
} else {
echo "Passwort ist nicht richtig!";
}
?>

joker
31-07-2004, 16:34
danke hat mir schon mal weitergeholfen ein wenig, aber was ist wenn ich es aus einer bestimmten zeile haben will, tabelle ist z.b. so aufgebaut:

userid | username | password
1 xy 1223
2 x 2354
3 zx 7543

und ich will das password mit dem aus der zeile 2 vergleichen?

und noch ne frage, wofr steht das
ORDER BY feld2 ? was ist mit feld 2 gemeint?

chris17
31-07-2004, 19:43
Huhu,

und noch ne frage, wofr steht das
ORDER BY feld2 ? was ist mit feld 2 gemeint?

userid | username | password <- Das sind Deine Feldnamen
1 xy 1223
2 x 2354
3 zx 7543

Was ORDER BY bedeutet weisst Du doch, oder?


und ich will das password mit dem aus der zeile 2 vergleichen?


$sql = "SELECT
userid, username ,password
FROM
tabelle
WHERE
userid=2";


Grsse

joker
01-08-2004, 00:29
ja denk schon zum sortieren, kenn aber nur dir arten ASC und DESC un versteh nicht warum es`sortiert werden soll und was xabbuh mit
"field2" meint?!

chris17
01-08-2004, 01:12
SELECT
feld
FROM
tabelle
ORDER BY
feld2

Und was ist mit feld? Irritiert Dich das nicht?

Wenn Du nur einen Datensatz abfragen willst, knntest Du Dir die Sortierung unter Umstnden schenken. ;-)

xabbuh hat halt irgend ein Bsp. genommen...

joker
01-08-2004, 12:02
hi, ok dann bedanke ich mich mal :)
hab mal noch dazu ne andere frage zur optimierung des scriptes, kann man den folgenden code noch verkrzen oder ist er so gut?

if (isset($_COOKIE['forum_userid'])) {
$userid = $_COOKIE['forum_userid'];
$retid = mysql_query("SELECT * FROM users WHERE userid = '{$userid}'");
$row = mysql_fetch_assoc($retid);

$userpw = $_COOKIE['forum_userpassword'];
$retid_pw = mysql_query("SELECT * FROM users WHERE password = '{$userpw}'");
$row_pw = mysql_fetch_assoc($retid_pw);

$sql = "SELECT
userid, password
FROM
users
WHERE
userid=$userid";

$result = mysql_query($sql);
$row_pw = mysql_fetch_array($result, MYSQL_ASSOC);
if($row_pw['password'] == $userpw) {
print_r ($row['username']);
echo "<br />n<a href="login.php">User Panel</a><br />n";

} else {
echo "Gast (<a href="login.php">Login</a>)<br />n";
echo "<a href="login.php">Registrieren</a><br />n";
echo "<a href="login.php">Info</a><br />n";
}
}else {
echo "Gast (<a href="login.php">Login</a>)<br />n";
echo "<a href="login.php">Registrieren</a><br />n";
echo "<a href="login.php">Info</a><br />n";
}

Domi
05-08-2004, 20:09
huhu,

es ist nicht immer alles gut was kurz ist. Schreib deine Scripte lieber so, dass DU berblick hast, dass kann dir einiges an Zeit sparen. *klugscheiss* *gg*

GreetZ Domi

Gweilo
05-08-2004, 21:14
Da muss man noch ein bisschen dahinter...

if (isset($_COOKIE['forum_userid'])) {
$userid = $_COOKIE['forum_userid'];
$retid = mysql_query("SELECT * FROM users WHERE userid = '{$userid}'");
$row = mysql_fetch_assoc($retid);

$userpw = $_COOKIE['forum_userpassword'];
$retid_pw = mysql_query("SELECT * FROM users WHERE password = '{$userpw}'");
$row_pw = mysql_fetch_assoc($retid_pw);

hmmm. was ist, wenn 2 user das gleiche passwort haben? Das ganze ist berhaupt nicht optimal...

erst alles auslesen, dann vergleichen. du liest die tabelle unntigerweise 3 mal aus, und nicht immer von der ID her (was langsamer geht, da die ID sortiert ist und somit in logarithmischer zeit gefunden wird, statt linear, wie beim PW)

so in etwa:
if (isset($_COOKIE['forum_userid'])) {
$userid = $_COOKIE['forum_userid'];
$result = mysql_query("SELECT username, password FROM users WHERE userid = '".$userid."'");

$row = mysql_fetch_row($result);

if ($_COOKIE['forum_userpassword'] != $row[1])
{//tuwas - pw falsch
}
else
{
$logged_in = 1;
$username = $row[0];
// erfolgreich eingeloggt.
}




$sql = "SELECT
userid, password
FROM
users
WHERE
userid=$userid";

$result = mysql_query($sql);
$row_pw = mysql_fetch_array($result, MYSQL_ASSOC);
if($row_pw['password'] == $userpw) {
print_r ($row['username']);
echo "<br />n<a href="login.php">User Panel</a><br />n";

} else {
echo "Gast (<a href="login.php">Login</a>)<br />n";
echo "<a href="login.php">Registrieren</a><br />n";
echo "<a href="login.php">Info</a><br />n";
}
}else {
echo "Gast (<a href="login.php">Login</a>)<br />n";
echo "<a href="login.php">Registrieren</a><br />n";
echo "<a href="login.php">Info</a><br />n";
}

ich wrde immer so eine $logged variable machen, die man im header include immer machen kann, somit weiss man immer ob jemand eingeloggt ist, sonst musst du immer wieder von neuem mhsam die datenbank auslesen etc. hoffentlich hab ich's verstndlich ausgedrckt ;)

joker
06-08-2004, 06:42
ich habs so gemacht nun:

$userid = $_COOKIE['forum_userid'];
$userpw = $_COOKIE['forum_userpassword'];
$ret = mysql_query("SELECT username, password, lastvisit FROM users WHERE userid = '".mysql_escape_string($userid)."' AND password = '".mysql_escape_string($userpw)."'") or die (mysql_error());

if(mysql_num_rows($ret) == 1) {
$row = mysql_fetch_array($ret, MYSQL_ASSOC);
print_r ($row['username']);
echo "<br />n<a href=".$back.""login.php">User Panel</a><br />n";
} else {
echo "Gast (<a href=".$back.""login.php">Login</a>)<br />n";
echo "<a href=".$back.""login.php">Registrieren</a> <a href=".$back.""misc/faq.php#1">?</a><br />n";
echo "<a href=".$back.""login.php">Info</a><br />n";
}

ist das auch so gut? bin der $loget is ne gute idee, und dan mit ner abfrage nur die variable abfragen odeR?

Gweilo
06-08-2004, 11:56
sieht schon viel besser aus, sollte so klappen.

joker
06-08-2004, 17:31
habs nun es mit deinem vorschlag ( $loged variable ) eingefgt und arbeite ber die variable, funzt super und entlasted den server, war nen super vorschlag danke :)