Login Weiterleitung | geschützter Bereich nicht geschützt

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
hanebu
Mitglied
Beiträge: 44
Registriert: 23.05.2006 12:48

Login Weiterleitung | geschützter Bereich nicht geschützt

Beitrag von hanebu »

Hallo,

ich habe ein nettes phpBB, und möchte das nun mit meiner Website kombinieren.

Den Style habe ich bestens integriert (besser die HP in das phpBB), und nun soll auf der index.php, also der Hauptseite der Webpräsenz (nicht des Forums) ein Loginfeld eingebaut werden.

Dieses Loginfeld soll gleichzeitig das Forenlogin sein, falls der User im Forum registriert ist, ansonsten nur das Login für geschützte Bereiche ausserhalb des Forums.

Dazu habe ich zum testen mal dieses Formular eingebaut:
<form action="http://www.domain.com/forums/index.php" method="post">
Benutzername: <input type="text" name="username"><br>
Passwort: <input type="password" name="password"><br>
Autologin? <input type="checkbox" name="autologin"><br>
<input type="hidden" name="redirect" value="geschuetze_seite1.php">
<input type="submit" name="login" value="Login">
</form>
( http://www.phpbb.de/doku/kb/artikel.php ... ight=login )

Dort habe ich die roten Stellen nat. angepasst.

Dazu muss ich sagen, dass die Website nebst den zu schützenden Seiten NICHT im phpBB-Verzeichnis liegen. Hier mal die Pfade:

root/forums/index.php (Pfad zum Froum)
root/domain/index.php (Pfad zur Website)
root/domain/geschuetzte_seite1.php (zu schützende Seite 1)

Ausserdem habe ich eine index.php (Webseite) nach diesem Vorbild gebastelt:

Code: Alles auswählen

<?php 
//Benötigte Dateien und Variablen von phpBB 
define('IN_PHPBB', true); 
$phpbb_root_path = '../forums/'; 
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); 


/***** Inhaltsbereich ******/ 

?>
( http://www.phpbb.de/doku/kb/phpbb_seite )

Wenn ich nun aber (HTML-)Inhalt an die vorgesehene Stelle einfüge, bekomme ich immer die Fehlermeldung "unexpected '<' in line...";
Wenn ich den Inhalt aber NACH dem PHP-Ende-Tag (?>) einsetze, klappt es.

Nun zum eigentlichen Problem:

Man wird nach dem einloggen auf die richtige Seite weitergeleitet, aber diese Seite ist auch OHNE eingeloggt zu sein vom Browser aus aufrufbar, wenn man den Link kennt.

Das sollte bei einem geschützten Bereich nicht so sein.

Wie bekomme ich das denn hin?

Hoffe ich hab mich nicht zu umständlich ausgedrückt, und bin im richtigen Forum...


Danke,
Tommy
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Du musst in deiner "geschützten" Datei natürlich auch abfragen, ob der User eingeloggt ist oder nicht ;-)

Beispiel:

Code: Alles auswählen

if( $userdata['session_logged_in'] )
	{
		hier dein geschützter code .......  ;
	}
	else
	{
		Blabla, sorry geschützer Beriech, draussen bleiben ;-) ;
	}
hanebu
Mitglied
Beiträge: 44
Registriert: 23.05.2006 12:48

Beitrag von hanebu »

Das habe ich versucht, er bringt dann aber immer:

unexpected ',' in line...

Und zwar in der Linie, in der die letzte Klammer steht.

Aber ich probiers nochtmal.

Meld mich dann wieder.

Danke erstmal.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17476
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Öhm,

HTML Inhalt ?

Da weisst aber, das man das nicht so einfach "mixen" kann ?

Dann beachte das bitte:

Code: Alles auswählen

if( $userdata['session_logged_in'] ) 
   { ?>
      hier dein geschützter HTML Code ....... 
   <? } 
   else 
   { ?>
      Blabla, sorry geschützer HTML Bereich, draussen bleiben ;-)
   <? }
Besser ist, wenn Du das KB:70 verwendest.
hanebu
Mitglied
Beiträge: 44
Registriert: 23.05.2006 12:48

Beitrag von hanebu »

Hi,

danke schön, funzt wunderbar. Absolut geil. :D

Das Templatesystem werde ich mir zu Gemüte führen.

Wie verhält sich die Sessionsübergabe, wenn ich von der "geschützten Seite 1" aus eine "geschützte Seite 2" usw. verlinke?

Muss dieser Code dann in jede dieser Dateien? (ich denk mal ja)

Wie bekomme denn ich noch einen Logout-Button in jede "geschützte Seite", und für den Fall das nicht eingeloggt, noch einen "Register"-Button und ggf. "Passwort vergessen?" ?
Antworten

Zurück zu „Coding & Technik“