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>";
}
}?>
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>";
}
}?>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 30472
Url: https://administrator.de/contentid/30472
Ausgedruckt am: 26.11.2024 um 03:11 Uhr
3 Kommentare
Neuester Kommentar
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
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