evilmoe
Goto Top

phpbb Forum datenbank verwenden

Hi

vielleicht wisst ihr noch das ich mal gefragt habe wie ich auf
die datenbank von phpbb forum zugreifen kann. es kam keine richtigen antworten
desshalb habe ich mal mysql gelernt und habe was rausbekommen
und es funktioniet sogar ! :D
jetzt wollte ich mal fragen ob man das so lassen kann
weil es ja auch sicher sein soll. und nat�¼rlich f�¼r welche
die das auch so machen wollen hoffe es gef�¤llt euch

config.php:

konfigurationsdatei
$host = "localhost";
Hostname

$user = "NAME"; Benutzername f�¼r die MySQL Datenbank

$pw = "PASSWORT";
Passwort f�¼r die MySQL Datenbank

$db = "DATENBANK"; Name der Datenbank


if ( ! mysql_connect ( $host , $user , $pw ) )
{
echo "konnte keine verbindung herstellen: ". mysql_error();
die;
}


if (! mysql_select_db($db))
{
echo "konnte datenbank nicht finden: ". mysql_error();
die;
}
$query = "SELECT * FROM phpbb2_users";
phpbb2_users kann vielleicht bei anderen auch anders heissen

$result = mysql_query ( $query );

$anzahl = mysql_num_rows( $result );

for ($i=1; $i <= $anzahl; $i++)
{

$datensatz = mysql_fetch_row( $result );

$array[$datensatz[2]] = $datensatz[3];
}


login.php oder wie ihr sie nennen wollt


<?
include("config.php");


es folgt das formular kann nat�¼rlich nach belieben angepasst werden
?>
<form method='post'>
<table width="297" border="0" cellpadding="1" cellspacing="1">
<tr>
<td width="276"><center>
<strong>Benutzername/Kennwort aus dem Forum:</strong>
</center></td>
</tr>
</table>
<table width="250" border="0" cellspacing="1" cellpadding="1">
<tr>
<td width="90">Benutzername:</td>
<td width="153"><input name="user" type="text" value="<? echo $_POST["user"]?>"/></td>
</tr>
<tr>
<td>Passwort: </td>
<td><input name="pw" type="password" value="<? echo $_POST["pw"]?>" /></td>
</tr>
<tr>
<td> </td>
<td><input name="Ausrechnen" type="submit" value="��berpr�¼fen" /></td>
</tr>
</table>
<p>
<input name="send" type="hidden" value="true" />
<br />
</p>
</form>


<?
hier denke solltet ihr nicht mehr �¤ndern ausser beim erfolgreichen login eine session festlegen oder so

if ( $_POST["send"] <> "" )
{ if ( ! $array[$_POST["user"]])
{
echo "<strong>Benutzername existiert nicht</strong>
";
die;
}

$pw = md5($_POST["pw"]);

if ($array[$_POST["user"]] == $pw)
{
echo "<strong>Login Erfolgreich!</strong>";
}

else
{
echo "<strong>Falsches Passwort</strong>";
}
}?>

Content-Key: 30472

Url: https://administrator.de/contentid/30472

Printed on: April 16, 2024 at 19:04 o'clock

Member: filippg
filippg Apr 15, 2006 at 14:44:42 (UTC)
Goto Top
Hallo,

deine Variante hat den Charme, dass sie gegen SQL-Injection (Angriff, websuche liefert Erklärung) sicher ist, da in der Datenbankanfrage keine Nutzereingaben verwendet werden. Allerdings krazt das bei vielen Nutzern an der Performance, daher verwendet man meist eine Abfrage wie: "SELECT * FROM phpbb2_users WHERE user = ".$_POST["user"]." and pw = ".$_POST["pw"]".

Filipp
Member: FemmeFatal
FemmeFatal Aug 06, 2007 at 18:54:30 (UTC)
Goto Top
Was genau ist das denn, und wofür ist das gut?
Ich habe auch ein Forum von dem gleichen Anbieter, und frage mich, was ich da noch machen kann.

Was hat das zu bedeuten, was da steht?^^
Member: EvilMoe
EvilMoe Aug 06, 2007 at 19:19:03 (UTC)
Goto Top
Ich wollte damals 2 Anmeldungen vermeiden und wollte die selben Benutzerdaten aus meinem phpbb Forum verwenden. Und dafür hatte ich das obenstehende Script verwendet..