inloggen site koppelen aan userlist phpBB

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
MrX
Berichten: 21
Lid geworden op: 26 aug 2004, 18:55

inloggen site koppelen aan userlist phpBB

Bericht door MrX » 26 aug 2004, 18:59

Hoi, ik heb op mijn site een beveiligd gedeelte voor leden. Ook heb ik het phpBB forum op de site, mijn vraag is nu of het mogelijk is de userlist van phpBB te gebruiken voor de beveiliging van de site. Nu werk ik voor de beveiliging van de site met htaccess, maar moeten de leden dubbel inloggen als ze vanuit het beveiligde gedeelte op het forum willen.
Ik hoop dat er een niet al te ingewikkelde oplossing is, alvast bedankt !

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 26 aug 2004, 19:04

Hoe het met .htaccess en .htpasswd moet en mysql weet ik niet, maar je kan wel een login systeem maken dat gebaseerd is op de mysql tabel phpbb_users en phpbb_sessions.

MrX
Berichten: 21
Lid geworden op: 26 aug 2004, 18:55

Bericht door MrX » 27 aug 2004, 08:31

Het hoeft ook niet persé gekoppeld te worden aan htaccess, ik betwijfel ook of dat wel kan. Ik heb niet veel verstand van php maar ik kan het natuurlijk altijd proberen. Als ik het login systeem koppel aan de mysql tabel van phpbb, kan ik dit dan ook koppelen aan een gebruikersgroep, want ik heb namelijk een private forum voor leden maar verder is het forum openbaar en die mensen mogen niet inloggen op het gedeelte van de site.

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 27 aug 2004, 08:57

Het kan allemaal, maar ik moet zeggen dat je daarvoor wel genoeg php kennis nodig hebt.

Je kan dat systeem ook in phpbb integreren maar dan is het als nog veel werk.

MrX
Berichten: 21
Lid geworden op: 26 aug 2004, 18:55

Bericht door MrX » 27 aug 2004, 12:18

O das jammer, maar zou er niet ergens zoiets te downloaden zijn, weet iemand dat ?

Gebruikersavatar
WebSiteNet
Berichten: 6524
Lid geworden op: 20 okt 2003, 16:56
Locatie: Wieringerwerf
Contacteer:

Bericht door WebSiteNet » 27 aug 2004, 15:16

Er zijn genoeg loginscripts te downloaden. Maar er is er waarschijnlijk niet een die exect aan jouw wensen voldoet. Je zal dus altijd zelf het script moeten aanpassen.

MrX
Berichten: 21
Lid geworden op: 26 aug 2004, 18:55

Bericht door MrX » 24 sep 2004, 18:30

Zou iemand bij kunnen helpen met het maken dan wel aanpassen van een login script ? Ik snap nog niet zoveel van php code en al helemaal niet van een database. Als het zo mogelijk is, wil ik een loginpagina maken waar alleen mensen van een bepaalde gebruikersgroep kunnen inloggen, gebruikmakend van de database gegevens van phpBB. Na het inloggen moeten de bezoekers worden doorverwezen naar een html pagina.
Ik hoop dat er iemand is die wil helpen.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 24 sep 2004, 21:14

Code: Selecteer alles

<?php

# waar gaat een succesvolle inlog heen?
$secure_page = '';
# welke groep mag erin?
$secure_group = 0;

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

//
// Set page ID for session management
//
$userdata = session_pagestart($user_ip, PAGE_LOGIN);
init_userprefs($userdata);
//
// End session management
//

if( $userdata['session_logged_in'] )
{
	$sql = "SELECT g.group_id
		FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
		WHERE g.group_id = " . $secure_group . "
		AND g.group_id = ug.group_id
		AND g.group_single_user = 0
		AND ug.user_id = " . $userdata['user_id'] . "
		AND ug.user_pending = 0;";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Error in obtaining group data', '', __LINE__, __FILE__, $sql);
	}

	if( $row = $db->sql_fetchrow($result) || $userdata['user_level'] == ADMIN )
	{
		redirect(append_sid($secure_page, true));
	}
	else
	{
		redirect(append_sid("index.$phpEx", true));
	}
}
else
{
	redirect(append_sid("login.$phpEx?redirect=secure.php", true));
}

?>
Sla hem op in je phpBB root als secure.php en verander de bovenste twee waarden.

MrX
Berichten: 21
Lid geworden op: 26 aug 2004, 18:55

Bericht door MrX » 24 sep 2004, 22:38

Wauw! Toppie een compleet script nog wel en het werkt perfect, precies wat mijn bedoeling was 8) . Heel erg bedankt mosymuis :thumb: :bier: .
Nog een klein vraagje wat betreft dit script. Is het mogelijk een andere opmaak van de pagina (secure.php) te maken, alleen het logingedeelte en verder niet het forum eromheen ? Of wordt dat te ingewikkeld ? :|

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 25 sep 2004, 13:04

De grap is dat deze pagina helemaal geen layout heeft, maar gebruik maakt van je bestaande login.php. De layout is dus niet aan te passen, tenzij je een kopie van login.php gaat verwerken in secure.php en daar de layout in verandert.

Overigens, als men het adres van je geheime pagina kent is dit script waardeloos.

MrX
Berichten: 21
Lid geworden op: 26 aug 2004, 18:55

Bericht door MrX » 25 sep 2004, 16:41

Ok dan ga ik dat eens proberen.
Als men het adres kent kan men inderdaad op de beveiligde pagina komen, maar het is toch mogelijk doormiddel van een stukje code op de beveiligde pagina te controleren of men is ingelogd ? Als je op het forum naar bv. profiel gaat dan kan je daar ook niet opkomen, tenzij je bent ingelogd, klopt dat ? En welk script zou dat kunnen zijn, of waar kan ik het vinden ?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 26 sep 2004, 15:07

Op een HTML pagina is dat onmogelijk.

MrX
Berichten: 21
Lid geworden op: 26 aug 2004, 18:55

Bericht door MrX » 17 okt 2004, 13:37

En hoe doe ik dat dan op een php pagina ?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 17 okt 2004, 13:42

Op PHP pagina's heb je geen doorverwijs pagina nodig, daar plaats je gewoon overal de bovenstaande controle om te bekijken of diegene wel in de juiste groep zit.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 17 okt 2004, 13:47

mosymuis schreef:De grap is dat deze pagina helemaal geen layout heeft, maar gebruik maakt van je bestaande login.php. De layout is dus niet aan te passen, tenzij je een kopie van login.php gaat verwerken in secure.php en daar de layout in verandert.

Overigens, als men het adres van je geheime pagina kent is dit script waardeloos.
behalve als je van dit script een pagina maakt, hij controleert dan of je in die usergroup zit, zo ja, hij laat de pagina zien, zo nee, je moet inloggen of je wordt doorverwezen :wink:
Afbeelding

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 17 okt 2004, 13:49

Luuk schreef:behalve als je van dit script een pagina maakt, hij controleert dan of je in die usergroup zit, zo ja, hij laat de pagina zien, zo nee, je moet inloggen of je wordt doorverwezen :wink:
Je hebt zojuist exact beschreven wat het script nu al doet. :roll:

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 17 okt 2004, 13:51

inderdaad, maar als je in plaats van

Code: Selecteer alles

if( $row = $db->sql_fetchrow($result) || $userdata['user_level'] == ADMIN ) 
   { 
      redirect(append_sid($secure_page, true)); 
   }

Code: Selecteer alles

if( $row = $db->sql_fetchrow($result) || $userdata['user_level'] == ADMIN ) 
   {
?>
      <html>
      blabla
      </html>
   <?php
}
erneer zet kan je de informatie nooit zien als je niet in die group zit.
Afbeelding

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 17 okt 2004, 13:52

Ja, dat bedoelde ik dus ook met deze post:
mosymuis schreef:Op PHP pagina's heb je geen doorverwijs pagina nodig, daar plaats je gewoon overal de bovenstaande controle om te bekijken of diegene wel in de juiste groep zit.
De reden dat ik dat niet direct zo gedaan heb is dat MrX wou doorverwijzen naar een HTML pagina.

MrX
Berichten: 21
Lid geworden op: 26 aug 2004, 18:55

Bericht door MrX » 17 okt 2004, 14:16

Ha het is gelukt. :D
Maar toch heb ik nog één vraagje. De pagina(s) die ik met het script heb beveiligd moeten nu in de root van phpbb staan. Hoe kan ik het wijzigen zodat de pagina in de map secure komt welke weer in de root van de site zit ?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 17 okt 2004, 14:17

Verander

Code: Selecteer alles

$phpbb_root_path = './'; 
naar

Code: Selecteer alles

$phpbb_root_path = './../'; 

Gesloten