PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage wegen pass in der database...


Brano
02.10.2004, 00:50
Hi!

Da das password in der datenbank user Mit Md5 verschlüsselt ist wollte ich wissen

aus was dies besteht?
es kann nicht sein das nur das password verschlüsselt wird..habe es eben getestet.

Wäre Dankbar für eine ANtwort:D

Brano
02.10.2004, 01:11
OK habe rausgefunden das dazu noch salt anghängt wird...

wie kann ich dies löschen? will nur das das pass mit md5 verschlüsselt wird und nichts weiter...

h75
02.10.2004, 01:30
Vielleicht hilft dir das weiter .... http://www.vbulletin-germany.com/forum/showthread.php?p=78435 oder der in diesem Thread genannte http://www.vbulletin-germany.com/forum/showthread.php?t=11554

Brano
02.10.2004, 01:36
Bis dahin bin ich auch gekommen...
ich weis auch wie das alles funzt....erst wird er nick mit md5 verschlüsselt dann wird der verschlüsselte string genommen und diese mit dem salt nochmals verschlüsselt...

jedoch behindert mich dies, da ich nur das pass gerne mit md5 verschlüsselt haben will...hat da einer ne ahnung wie ich das hinkriege?

Es ist wenn ich nachdenke unmöglich da das pass nun verschlüsselt ist mit dem SALT ....wie doof

h75
02.10.2004, 01:50
Also da blick ich ja jetzt schon nicht mehr durch. :confused:
Was hast du denn vor, wenn man fragen darf? Oder wofür ist das gut? :rolleyes:

Brano
02.10.2004, 02:02
Naja ist nen login mit meinem programm...

hab nen besseren vorschlag...

Wie kann ich das pass aus der datenbank z.b. auf der startseite anzeigen lassen...hat da einer nen code...wenn ja könnte ihn einer posten wäre dankbar!

*EDIT*
Also einfach rauslesen das passwort...(das in der datenbank drinnen steht)

Mystics
02.10.2004, 20:01
Also einfach rauslesen das passwort...(das in der datenbank drinnen steht)Im einem Template $bbuserinfo[password] schreiben sollte zum Ziel führen.

Einfacher dürfte es sein, einfach dein Programm mit dem salt zu erweitern.

Brano
03.10.2004, 02:15
Ja die frage is nur wie:o

habe folgendes script...
<?php
$dbHost = "db301.puretec.de";
$dbUser = "x";
$dbPass = "x";
$dbName = "x";
$connect = @mysql_connect($dbHost, $dbUser, $dbPass) or die("Konnte keine Verbindung zum Datenbankserver aufbauen!");
$selectDB = @mysql_select_db($dbName, $connect) or die("Konnte die Datenbank <b>$dbName</b> nicht auswählen!");
$auth = false; // Assume user is not authenticated
if (isset( $PHP_AUTH_USER ) && isset($PHP_AUTH_PW)) {
// Connect to MySQL
mysql_pconnect($OPTION[mysqlserver],$OPTION[mysqluser],$OPTION[mysqlpass])
or die ( 'Unable to connect to server.' );
// Select database on MySQL server
mysql_select_db( 'x' )
or die ( 'Unable to select database.' );
// Formulate the query
$sql = "SELECT * FROM user WHERE
username = '$PHP_AUTH_USER' AND
password = '$PHP_AUTH_PW'";
// Execute the query and put results in $result
$result = mysql_query( $sql )
or die ( 'Unable to execute query.' );
// Get number of rows in $result.
$num = mysql_numrows( $result );
if ( $num != 0 ) {
// A matching row was found - the user is authenticated.
$auth = true;
}
}
if ( ! $auth ) {
//header( 'WWW-Authenticate: Basic realm="Private"' );
//header( 'HTTP/1.0 401 Unauthorized' );
echo 'false';
exit;
} else {
echo 'true';
}
?>

und wenn ich dann die url:
meinehomepage.de/login.php?PHP_AUTH_USER=admin&PHP_AUTH_PW=admin

aufrufe und die daten dann stimmen dann steht auf der page "true".
Und mein prog sucht nach dem string "true" wenn es diesen gefunden hat, dann stimmen die daten und das programm startet...nun will ich wissen was ich machen kann damit das auch beim vb funktioniert...einer eine Idee?

Ahja bin bei 1und1 und bekomme Unable to select database. als ausgabe und wenn ich localhost teste dann funktioniert es...
Bei 1und1 kann man extern nicht auf die datenbank zugreifen(habe ich gelesen) aber die datei liegt auf dem 1und1 space... einer ne idee:confused:

Am Besten wäre wenn ich das irgendwie über das login.php vom vb tun könnte...

zap
03.10.2004, 04:37
Ich hab dir mal dein Script umgeschrieben, da darin einige Fehler waren und der Code auch sehr unübersichtlich aussah.
Ich hoffe damit klappts:
<?php

$dbHost = 'db301.puretec.de';
$dbUser = 'xxx';
$dbPass = 'xxx';
$dbName = 'xxx';

$auth = false; // Assume user is not authenticated

if (isset($_SERVER['PHP_AUTH_USER']) AND isset($_SERVER['PHP_AUTH_PW']))
{
$connect = @mysql_connect($dbHost, $dbUser, $dbPass) OR die('Konnte keine Verbindung zum Datenbankserver aufbauen!');
$selectDB = @mysql_select_db($dbName, $connect) OR die("Konnte die Datenbank <b>$dbName</b> nicht auswählen!");

// Formulate the query
$sql = "SELECT * FROM user WHERE username = '$_SERVER[PHP_AUTH_USER]'";

// Execute the query and put results in $result
$result = @mysql_query($sql) OR die ('Unable to execute query.');

if ($user = mysql_fetch_array($result))
{
if ($user['password'] == md5(md5($_SERVER['PHP_AUTH_PW']) . $user['salt']))
{
$auth = true;
}
}
}

if (!$auth)
{
header('WWW-Authenticate: Basic realm="Private"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
else
{
echo 'Ich bin drin !';
}

?>
Nicht vergessen die rot markierten Datenbankdaten noch vorher anzupassen.

Brano
03.10.2004, 13:37
Wie muss ich das dann aufrufen?

homepage.de/login.php?PHP_AUTH_USER=admin&PHP_AUTH_PW=admin

als beispiel ist hier admin der nick und admin das passwort...funktioniert aber nich?

zap
03.10.2004, 13:55
Es müsste eigentlich automatisch eine Aufforderung zur Eingabe des Benutzernamen und Passwort kommen.

Brano
03.10.2004, 13:58
Ja kommt ja auch aber wenn ich die daten eingebe kommt wieder die Aufforderung und nach paar mal passiert dann nichts mehr...

Irgendetwas stimmt da nicht.

zap
03.10.2004, 14:04
Hast du die korrekten Datenbankdaten im File eingetragen ?

Du musst bei der Aufforderung halt dann auch Name und Passwort eines Forumbenutzers eintragen, aber ich geh mal davon aus, dass du das gemacht hast.

Also bei mir funzt das Script.

Brano
03.10.2004, 14:07
Es kann auch daran liegen das man bei meinem hoster (1und1) nicht extern auf die datenbank zugreifen kann!

Obwohl die datei auf dem Space von 1und1 liegt dann müsste dies doch gehen? :(

zap
03.10.2004, 14:11
Ähm, also ich bin auch bei 1und1 und kann auf die Datenbank von meinem Webspace aus zugreifen.

Welches Paket hast du denn bei 1und1 ?

Und hast du im Kundenmenü von 1und1 schon nachgeschaut, ob eine MySQL-Datenbank freigeschaltet ist ?
Dort bekommst du dann auch die Datenbankdaten her, die du in das File eintragen musst, sonst kannst du natürlich nicht auf die Datenbank zugreifen.

Brano
03.10.2004, 14:14
Ja natürlich ;) mein forum läuft ja schon und sind 266 registrierte Benutzer schon da...die daten stimmen auch nur es passiert nichts bei diesem script *heul*

zap
03.10.2004, 14:16
Ach, mir fällt grad ein, dass bei 1und1 PHP als CGI läuft und da kann das auch nicht gehen :rolleyes:
Moment ich schreib das Script so um das es funzt...

Brano
03.10.2004, 14:20
Ok vielen Dank!

zap
03.10.2004, 14:23
Hier das neue Script:
<?php

$dbHost = 'db301.puretec.de';
$dbUser = 'xxx';
$dbPass = 'xxx';
$dbName = 'xxx';

$auth = false; // Assume user is not authenticated

if (isset($_REQUEST['user']) AND isset($_REQUEST['pass']))
{
$connect = @mysql_connect($dbHost, $dbUser, $dbPass) OR die('Konnte keine Verbindung zum Datenbankserver aufbauen!');
$selectDB = @mysql_select_db($dbName, $connect) OR die("Konnte die Datenbank <b>$dbName</b> nicht auswählen!");

// Formulate the query
$sql = "SELECT * FROM user WHERE username = '$_REQUEST[user]'";

// Execute the query and put results in $result
$result = @mysql_query($sql) OR die ('Unable to execute query.');

if ($user = mysql_fetch_array($result))
{
if ($user['password'] == md5(md5($_REQUEST['pass']) . $user['salt']))
{
$auth = true;
}
}
}

if (!$auth)
{
//header('WWW-Authenticate: Basic realm="Private"');
//header('HTTP/1.0 401 Unauthorized');
echo 'KEIN ZUTRITT !';
exit;
}
else
{
echo 'Ich bin drin !';
}

?>

Und so musst du es aufrufen: login.php?user=benutzername&pass=passwort

Brano
03.10.2004, 14:27
Ja! Dies Funktioniert! *freu*


Vielen Dank für deine Hilfe!:p

h75
03.10.2004, 14:29
266 registrierte Benutzer schon da Darf man nach der Url fragen? :rolleyes: (Bei mir sinds 65)

Brano
04.10.2004, 17:13
Wie kann ich es noch erweitern z.b. das dann wenn diese url aufgerufen wird und die daten auch stimmen...der User bei User Online angezeigt wird?

Brano
08.10.2004, 17:50
Kann mir einer Helfen?