Gäste von Index verbannen
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.
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.
-
- Mitglied
- Beiträge: 26
- Registriert: 26.05.2007 20:34
Gäste von Index verbannen
Hallo Leute,
da ich nicht genau wusste, wohin mit diesem Posting, habe ich es mal in den Smalltalk gesetzt. Sollte es hier falsch sein, bitte ich um Entschuldigung und darum, es bitte an den rechten Platz zu verschieben.
So, nun zu meiner Frage / Problemstellung:
1. User betritt die Index-Datei
2. zu Beginn der Index-Datei soll irgendwie der Status des Users geprüft werden.
2.1. der User ist eingelogt mit Status "registriert" oder höher
2.1.1. User darf Forum wie gewohnt sehen und nutzen
2.2. der User ist nicht eingelogt bzw. hat den Status "Gast".
2.2.1. in diesem Fall soll der Gast, noch bevor er einen Blick auf die Index werfen kann, per Weiterleitung auf eine andere Page (eine Page, auf der nur ein LogIn-Feld ist) umgeleitet werden.
Meine Frage ist nun: Wie könnte ich solch eine Statusabfrage mit entsprechender Umleitung realisieren?
Bin für jeden Tipp dankbar, da ich Null Plan davon habe.
da ich nicht genau wusste, wohin mit diesem Posting, habe ich es mal in den Smalltalk gesetzt. Sollte es hier falsch sein, bitte ich um Entschuldigung und darum, es bitte an den rechten Platz zu verschieben.
So, nun zu meiner Frage / Problemstellung:
1. User betritt die Index-Datei
2. zu Beginn der Index-Datei soll irgendwie der Status des Users geprüft werden.
2.1. der User ist eingelogt mit Status "registriert" oder höher
2.1.1. User darf Forum wie gewohnt sehen und nutzen
2.2. der User ist nicht eingelogt bzw. hat den Status "Gast".
2.2.1. in diesem Fall soll der Gast, noch bevor er einen Blick auf die Index werfen kann, per Weiterleitung auf eine andere Page (eine Page, auf der nur ein LogIn-Feld ist) umgeleitet werden.
Meine Frage ist nun: Wie könnte ich solch eine Statusabfrage mit entsprechender Umleitung realisieren?
Bin für jeden Tipp dankbar, da ich Null Plan davon habe.
Gruß,
Arno Nyhm 123
(phpbb-Neuling)
Arno Nyhm 123
(phpbb-Neuling)
- killerbees19
- Mitglied
- Beiträge: 1185
- Registriert: 09.05.2006 17:33
- Wohnort: Wien (Österreich)
- Kontaktdaten:
Soll das ganze nur für die Index-Seite sein, oder für alle Seiten deines Forums?
Das ganze ist jedenfalls ganz leicht zu realisieren, man muss nur jeden auf die Loginseite weiterleiten
Bitte mache vorher ein Backup aller Dateien deines Forums!
Dafür musst du in jede Datei, die ein Gast nicht sehen soll, nach diesem Teil:
folgendes einfügen:
MfG Christian
Das ganze ist jedenfalls ganz leicht zu realisieren, man muss nur jeden auf die Loginseite weiterleiten

Bitte mache vorher ein Backup aller Dateien deines Forums!
Dafür musst du in jede Datei, die ein Gast nicht sehen soll, nach diesem Teil:
Code: Alles auswählen
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
Code: Alles auswählen
// Ist der Benutzer eingeloggt?
if(!$userdata['session_logged_in'])
{
redirect(append_sid('login.'.$phpEx.'?redirect='.basename($_SERVER['PHP_SELF']).'&'.$_SERVER['QUERY_STRING'], true));
}
MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
-
- Mitglied
- Beiträge: 26
- Registriert: 26.05.2007 20:34
Eigentlich für alle. Reicht es dann nicht, es nur in die Index zu setzen?killerbees19 hat geschrieben:Soll das ganze nur für die Index-Seite sein, oder für alle Seiten deines Forums?
Wo definiere ich denn die URL der Page, auf die er dann weiter geleitet werden soll? Also die, die nur das LogIn haben soll?killerbees19 hat geschrieben:Das ganze ist jedenfalls ganz leicht zu realisieren, man muss nur jeden auf die Loginseite weiterleiten![]()
Bitte mache vorher ein Backup aller Dateien deines Forums!
Dafür musst du in jede Datei, die ein Gast nicht sehen soll, nach diesem Teil:folgendes einfügen:Code: Alles auswählen
// // Start session management // $userdata = session_pagestart($user_ip, PAGE_INDEX); init_userprefs($userdata); // // End session management //
Code: Alles auswählen
// Ist der Benutzer eingeloggt? if(!$userdata['session_logged_in']) { redirect(append_sid('login.'.$phpEx.'?redirect='.basename($_SERVER['PHP_SELF']).'&'.$_SERVER['QUERY_STRING'], true)); }
MfG Christian
Gruß,
Arno Nyhm 123
(phpbb-Neuling)
Arno Nyhm 123
(phpbb-Neuling)
- killerbees19
- Mitglied
- Beiträge: 1185
- Registriert: 09.05.2006 17:33
- Wohnort: Wien (Österreich)
- Kontaktdaten:
Jeder könnte aber trotzdem die Suche, Forenthemen usw. aufrufen. Du müsstest den Code also in alle Seiten schreiben, die Gäste nicht sehen sollen.
Die Seite auf die Weitergeleitet werden soll, wird hier definiert:
Die Login-Seite, und falls sich dann jemand einloggt, kommt er wieder auf die Seite zurück, die er eigentlich sehen wollte
MfG Christian
Die Seite auf die Weitergeleitet werden soll, wird hier definiert:
Code: Alles auswählen
'login.'.$phpEx.'?redirect='.basename($_SERVER['PHP_SELF']).'&'.$_SERVER['QUERY_STRING']

MfG Christian
» Real programmers don't comment. If it was hard to write, it should be hard to understand!
wenn dein ganzes forum nicht für gäste sein soll, pack es einfach in die includes/page_header.php und schon sind alle (mit header und style ausgestatteten) seiten davon betroffen.
Schönen gruß, Asmodiel
Linus Thorvals hat geschrieben:Intelligence is the ability to avoid doing work, yet getting the work done.
-
- Mitglied
- Beiträge: 26
- Registriert: 26.05.2007 20:34
Habs mal probiert und habe
oben in die includes/page_header kopiert.
Aber sobald ich mich auslogge um den Gaststatus zu testen, kommt nur noch "SEITE NICHT GEFUNDEN".
Code: Alles auswählen
// Ist der Benutzer eingeloggt?
if(!$userdata['session_logged_in'])
{
redirect(append_sid('login.'.$phpEx.'?redirect='.basename($_SERVER['PHP_SELF']).'&'.$_SERVER['QUERY_STRING'], true));
}
Aber sobald ich mich auslogge um den Gaststatus zu testen, kommt nur noch "SEITE NICHT GEFUNDEN".

Gruß,
Arno Nyhm 123
(phpbb-Neuling)
Arno Nyhm 123
(phpbb-Neuling)
könnte an der relativen angabe der login.php... mach mal aus dem
append_sid('login.'.$phpEx.
ein
append_sid('http://deineseite.de/deinforum/login.'.$phpEx. [...]
append_sid('login.'.$phpEx.
ein
append_sid('http://deineseite.de/deinforum/login.'.$phpEx. [...]
Schönen gruß, Asmodiel
Linus Thorvals hat geschrieben:Intelligence is the ability to avoid doing work, yet getting the work done.
-
- Mitglied
- Beiträge: 26
- Registriert: 26.05.2007 20:34
Irgendwie will das nicht funktionieren.
Habe es wie folgt eingebaut in die includes/page_header.php
Selbst bei der Index-Datei kommt so ein Fehler 404
Habe es wie folgt eingebaut in die includes/page_header.php
Code: Alles auswählen
<?php
/***************************************************************************
* page_header.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id: page_header.php,v 1.106.2.25 2005/10/30 15:17:14 acydburn Exp $
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
// Ist der Benutzer eingeloggt?
if(!$userdata['session_logged_in'])
{
redirect(append_sid('http://www.ehtac.de/phpbb2/login.'.$phpEx.'?redirect='.basename($_SERVER['PHP_SELF']).'&'.$_SERVER['QUERY_STRING'], true));
}
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
define('HEADER_INC', TRUE);
//
// gzip_compression
//
$do_gzip_compress = FALSE;
if ( $board_config['gzip_compress'] )
{
$phpver = phpversion();
$useragent = (isset($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) ? $HTTP_SERVER_VARS['HTTP_USER_AGENT'] : getenv('HTTP_USER_AGENT');
if ( $phpver >= '4.0.4pl1' && ( strstr($useragent,'compatible') || strstr($useragent,'Gecko') ) )
{
if ( extension_loaded('zlib') )
{
ob_start('ob_gzhandler');
}
}
else if ( $phpver > '4.0' )
{
if ( strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') )
{
if ( extension_loaded('zlib') )
{
$do_gzip_compress = TRUE;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}
}
}
}
... und so weiter ...
Gruß,
Arno Nyhm 123
(phpbb-Neuling)
Arno Nyhm 123
(phpbb-Neuling)
ist ja kein wunder so versucht er immer neu zu verbinden zu loginseite selbst wen man schon auf der loginseite ist das führt unweigerlich zu nem timeout!
entweder du bindest das in jeder datei einzeln ein oder du machst dem script noch klar das ews bei der login.php nicht neuverbinden soll.
z.b. so
in der login.php vor
das einfügen
in der pageheader.php
ersetzen mit
damit !!!könnte!!! es funktionieren wen nicht irgend ne andere dei da probleme macht was ich nicht weis weil ichs nicht ausprobiert habe.
mfg metty
entweder du bindest das in jeder datei einzeln ein oder du machst dem script noch klar das ews bei der login.php nicht neuverbinden soll.
z.b. so
in der login.php vor
Code: Alles auswählen
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
Code: Alles auswählen
define('NO_REDIRECT', true);
Code: Alles auswählen
// Ist der Benutzer eingeloggt?
if(!$userdata['session_logged_in'])
{
redirect(append_sid('http://www.ehtac.de/phpbb2/login.'.$phpEx.'?redirect='.basename($_SERVER['PHP_SELF']).'&'.$_SERVER['QUERY_STRING'], true));
}
Code: Alles auswählen
// Ist der Benutzer eingeloggt?
if(!$userdata['session_logged_in'] && !(defined('NO_REDIRECT')) )
{
redirect(append_sid('http://www.ehtac.de/phpbb2/login.'.$phpEx.'?redirect='.basename($_SERVER['PHP_SELF']).'&'.$_SERVER['QUERY_STRING'], true));
}
mfg metty
Nichts auf der welt ist so gerecht verteilt wie der Verstand.Denn jederman ist überzeugt das er genug davon habe.
-
- Mitglied
- Beiträge: 26
- Registriert: 26.05.2007 20:34
das gleiche Ergebnis ... Fehler 404 
Edit:
ohne den absoluten Pfad scheint es so zu klappen.
Also mit:
Werde das mal so drin lassen und testen.
Aber auf den ersten Blick scheints zu klappen.
Ich laß dir in den nächsten Tagen auf jeden Fall Feedback da. DANKE schon mal!

Edit:
ohne den absoluten Pfad scheint es so zu klappen.

Also mit:
Code: Alles auswählen
redirect(append_sid('login.'.$phpEx.'?redirect='.basename($_SERVER['PHP_SELF']).'&'.$_SERVER['QUERY_STRING'], true));
Aber auf den ersten Blick scheints zu klappen.
Ich laß dir in den nächsten Tagen auf jeden Fall Feedback da. DANKE schon mal!
Gruß,
Arno Nyhm 123
(phpbb-Neuling)
Arno Nyhm 123
(phpbb-Neuling)