Pagina 1 van 2
inloggen site koppelen aan userlist phpBB
Geplaatst: 26 aug 2004, 18:59
door MrX
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 !
Geplaatst: 26 aug 2004, 19:04
door WebSiteNet
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.
Geplaatst: 27 aug 2004, 08:31
door MrX
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.
Geplaatst: 27 aug 2004, 08:57
door WebSiteNet
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.
Geplaatst: 27 aug 2004, 12:18
door MrX
O das jammer, maar zou er niet ergens zoiets te downloaden zijn, weet iemand dat ?
Geplaatst: 27 aug 2004, 15:16
door WebSiteNet
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.
Geplaatst: 24 sep 2004, 18:30
door MrX
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.
Geplaatst: 24 sep 2004, 21:14
door mosymuis
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.
Geplaatst: 24 sep 2004, 22:38
door MrX
Wauw! Toppie een compleet script nog wel en het werkt perfect, precies wat mijn bedoeling was 8) . Heel erg bedankt mosymuis :thumb:

.
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 ?

Geplaatst: 25 sep 2004, 13:04
door mosymuis
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.
Geplaatst: 25 sep 2004, 16:41
door MrX
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 ?
Geplaatst: 26 sep 2004, 15:07
door mosymuis
Op een HTML pagina is dat onmogelijk.
Geplaatst: 17 okt 2004, 13:37
door MrX
En hoe doe ik dat dan op een php pagina ?
Geplaatst: 17 okt 2004, 13:42
door mosymuis
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.
Geplaatst: 17 okt 2004, 13:47
door Luuk
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

Geplaatst: 17 okt 2004, 13:49
door mosymuis
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

Je hebt zojuist exact beschreven wat het script nu al doet.

Geplaatst: 17 okt 2004, 13:51
door Luuk
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.
Geplaatst: 17 okt 2004, 13:52
door mosymuis
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.
Geplaatst: 17 okt 2004, 14:16
door MrX
Ha het is gelukt.
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 ?
Geplaatst: 17 okt 2004, 14:17
door mosymuis