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-ID: 30472

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

Ausgedruckt am: 26.11.2024 um 03:11 Uhr

filippg
filippg 15.04.2006 um 16:44:42 Uhr
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
FemmeFatal
FemmeFatal 06.08.2007 um 20:54:30 Uhr
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?^^
EvilMoe
EvilMoe 06.08.2007 um 21:19:03 Uhr
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..