Überprüfung des Benutzerstatus in Externen-HP

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Nana23
Mitglied
Beiträge: 148
Registriert: 18.01.2003 11:59
Wohnort: Köln / Bad Salzungen
Kontaktdaten:

Überprüfung des Benutzerstatus in Externen-HP

Beitrag von Nana23 »

In der Dokumentation http://www.phpbb.de/doku/kb/artikel.php?artikel=152
steht zwar wie es geht, nur wie macht man das?

Code: Alles auswählen

Überprüfung des Benutzerstatus

Um zu überprüfen, ob ein Benutzer angemeldet ist, muss die Session-ID entweder aus dem Cookie (Cookie-Name: der im Admin-Bereich festgelegte Cookie-Name ergänzt um '_sid' (ohne Anführungszeichen) oder aus dem POST/GET-Parameter sid abgefragt werden. Dabei müssen alle drei Möglichkeiten geprüft werden! Um in phpBB einer URL ggf. eine Session-ID anzufügen, ist die Funktion append_sid() zu verwenden.

Diese Daten sind dann mit den Daten der Tabelle phpbb_sessions abzugleichen (siehe oben). Hierbei ist darauf zu achten, dass nur dann eine gültige Sitzung übergeben wurde, wenn:

    * session_id existiert,
    * session_logged_in 1 ist,
    * session_time + 3600 in der Zukunft liegt (sofern im Admin-Bereich keine andere Sitzungslänge festgelegt wurde; die Sitzungslänge ist in der Tabelle phpbb_config unter session_length gespeichert) und
    * der Benutzer auf aktiv (user_active = 1 in phpbb_users) gesetzt ist. (ggf. wäre auch die Bann-Funktion und die IP-Adresse zu prüfen)

Wie erfahre ich den die SessionID aus dem Cookie?
So das ich auslesenkann ob der Userangemeldet ist oder nicht.
Benutzeravatar
Nana23
Mitglied
Beiträge: 148
Registriert: 18.01.2003 11:59
Wohnort: Köln / Bad Salzungen
Kontaktdaten:

Beitrag von Nana23 »

hab es auch schon so probiert:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

if( !$userdata['session_logged_in'] )
{
message_die(GENERAL_MESSAGE, 'nicht eingeloggt');
}

///inhalt..
?> 


Nur funktionieren dann meine anderen PHP Script nicht mehr :(
Die Script funktionieren über die var action_page und werdne über URL übergeben


Hier mal nen Beispiel Code:

Code: Alles auswählen

<?php




//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);


//<!-- NAVIGTAION -->

include 'navigation-auslesen.php';


//<!-- NAVIGTAION -->
       

//<!-- INHALT -->       

<?php
if($userdata['session_logged_in'])
{

echo " Eingelogged";
echo $userdata['session_page'];
}
else
{
echo "<form action=\"forum/login.php\" method=\"post\">";
echo "Benutzername: <input type=\"text\" name=\"username\"><br>";
echo "Passwort: <input type=\"password\" name=\"password\"><br>";
echo "Autologin? <input type=\"checkbox\" name=\"autologin\"><br>";
echo "<input type=\"hidden\" name=\"redirect\" value=\"../index.php\">";
echo "<input type=\"submit\" name=\"login\" value=\"Login\">";
echo "</form>";
}
if($action_page == '')
{
echo "<table width=\"423\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr>";
echo "<td class=\"content_top\">Willkommen</td>";
echo "</tr>";
echo "<tr>";
echo "<td class=\"content_middle\">Ich wünsche euch viel Spass auf meiner Page.";
echo "<BR>";
echo "Im Moment ist die Page noch im Aufbau, soll sich aber nach ihrer Fertigstellung mit folgenden Themen befassen:";
echo "<BR>-CSS";
echo "<BR>-AirAttack";
echo "<BR>-PHP";
echo "<BR>-Party / Saufen";
echo "<BR>-Frauen :P";
echo "<BR>";
echo "<B>Greetz Martin</B>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td class=\"content_bottom\"></td>";
echo "</tr>";
echo "</table>";
}
Benutzeravatar
Nana23
Mitglied
Beiträge: 148
Registriert: 18.01.2003 11:59
Wohnort: Köln / Bad Salzungen
Kontaktdaten:

Beitrag von Nana23 »

kann mir keiner helfen?

ich hab jetzt mal die login kontrolle eingebaut so:

Code: Alles auswählen

<?php

//Benötigte Dateien und Variablen von phpBB
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);


//Session auslesen und Benutzer-Informationen laden
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);


if($userdata['session_logged_in'])
{

echo " Eingelogged";
echo $userdata['session_page'];
}
else
{
echo "<form action=\"forum/login.php\" method=\"post\">";
echo "Benutzername: <input type=\"text\" name=\"username\"><br>";
echo "Passwort: <input type=\"password\" name=\"password\"><br>";
echo "Autologin? <input type=\"checkbox\" name=\"autologin\"><br>";
echo "<input type=\"hidden\" name=\"redirect\" value=\"../index.php\">";
echo "<input type=\"submit\" name=\"login\" value=\"Login\">";
echo "</form>";
}


?>

Diese lass ich dann in meiner inde.php includen
Jedoch funktionieren dann keine Script weiterhin!!!
Wenn ich zum beispiel auf den link
index.php?action_page=links
gehe passiert nichts mehr
woran könnte das liegen?
Benutzeravatar
Nana23
Mitglied
Beiträge: 148
Registriert: 18.01.2003 11:59
Wohnort: Köln / Bad Salzungen
Kontaktdaten:

Beitrag von Nana23 »

TOP
Antworten

Zurück zu „phpBB 2.0: Mod Support“