Toegang webpagina's
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Toegang webpagina's
Hallo,
Graag had ik, wanneer geregistreerde gebruikers uit een bepaalde gebruikersgroep ingelogd zijn, ze ook toelating gegeven op "beveiligde pagina's" van mijn website. Is dit mogelijk?
Dit probleem is nog steeds niet opgelost!!! neem aub eens een kijkje op de laatste topics.
mvg,
Graag had ik, wanneer geregistreerde gebruikers uit een bepaalde gebruikersgroep ingelogd zijn, ze ook toelating gegeven op "beveiligde pagina's" van mijn website. Is dit mogelijk?
Dit probleem is nog steeds niet opgelost!!! neem aub eens een kijkje op de laatste topics.
mvg,
Laatst gewijzigd door Guust op 15 dec 2005, 21:40, 2 keer totaal gewijzigd.
- Lady Elensar
- Berichten: 592
- Lid geworden op: 17 okt 2005, 00:48
- Lady Elensar
- Berichten: 592
- Lid geworden op: 17 okt 2005, 00:48
Ik had niet gezien dat je een html pagina bedoelde, maar keb toch maar ff op phpbbhacks.com gekeken, en daar zag ik wel zo'n mod:
Extra Permission Hack:
http://phpbbhacks.com/download/2046
Maar ik weet niet zeker of dit iets is wat je zoekt. Anders moet je gewoon ff op zoeken naar mods met de trefwoorden, protect(ion) of secure(ty). Misschien vind je dan iets?
Extra Permission Hack:
http://phpbbhacks.com/download/2046
Maar ik weet niet zeker of dit iets is wat je zoekt. Anders moet je gewoon ff op zoeken naar mods met de trefwoorden, protect(ion) of secure(ty). Misschien vind je dan iets?
Misschien heb je hier iets aan?
KNAVIVO DIERENHULP
Stimuleer verdraagzaamheid. Wees eens wat vaker irritant.
Stimuleer verdraagzaamheid. Wees eens wat vaker irritant.
Weinig, ik heb nu reeds beveiligde pagina's op m'n website, maar wil deze toegankelijk maken via het Forum. Echter wel enkel voor één bepaalde gebruikersgroep.XP-Rene schreef:Misschien heb je hier iets aan?
mvg, en toch bedankt Rene!!
:thumb: Inderdaad! Dit is het zowat denk ik, enkel... ik zou ook willen selecteren op usergroup. Dus enkel die bepaalde gebruikersgroep mag toegang krijgen.Lontronics schreef:Ik denk dat je dit bedoelt: http://www.phpbb.nl/viewtopic.php?t=24353
Groeten,
Jan
In jou code wordt gecontroleerd of die bepaalde persoon ingelogd is (denk ik), maar er zou ook moeten gecontroleerd worden of hij lid is van een bepaalde groep.
Enig idee wat ik dan nog aan jou code moet toevoegen?
mvg,
Als je weet wat waarde is van usergroup in de tabel dan kan het vrij eenvoudig.
Dit is te zien via phpmyadmin.
Dit is de code die in de andere topic stond:
Ik heb net ff zitten testen, puur met code die ik uit de pagina's van phpbb pik en dan werkt het volgende:
$ALLOWED_GROUP is de groep die toegang heeft
$php_root_path is het path naar je phpbb directory
Het kan misschien wel eenvoudiger, maar ik weet niet hoe.
En wb. de groepen, ik gebruik ze zelf niet, maar heb in de sql-tabel gekeken en vlgs mij moet het zo kloppen
Jan
Dit is te zien via phpmyadmin.
Dit is de code die in de andere topic stond:
Code: Selecteer alles
// Controls for phpbb login inclusion
define('IN_PHPBB', true);
$phpbb_root_path = "LOCAAL_WWWROOTPATH/forum/";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, FOTOALBUMS);
init_userprefs($userdata);
if ( !$userdata['session_logged_in'] )
{
echo ("<center><br><br><br>");
echo ("Alleen leden hebben toegang tot de fotoalbums.<br>");
echo ("Bent u al lid, log dan in op het forum om tevens toegang te krijgen tot de fotoalbums.");
echo ("</center>");
die();
}
Code: Selecteer alles
<?php
$ALLOWED_GROUP = "3";
// Controls for phpbb login inclusion
$CHECK_ALLOWED = 0;
define('IN_PHPBB', true);
$phpbb_root_path = "LOCAAL_WWWROOTPATH/forum/";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, INDEX);
init_userprefs($userdata);
if ( $userdata['session_logged_in'] )
{
$usr = $userdata[0][0];
$sql = "SELECT group_id FROM " . USER_GROUP_TABLE . " WHERE user_id = $usr";
if (!($result = $db->sql_query($sql)))
{
die("Error finding group information for user in sql table");
}
$row = $db->sql_fetchrow($result);
if ($row[0] = $ALLOWED_GROUP)
{
$CHECK_ALLOWED = 1;
}
}
if ($CHECK_ALLOWED == 0)
{
echo ("<center><br><br><br>");
echo ("Alleen leden hebben toegang tot de fotoalbums.<br>");
echo ("Bent u al lid, log dan in op het forum om tevens toegang te krijgen tot de fotoalbums.");
echo ("</center>");
die();
}
EN HIER DE REST VAN DE PAGINA
$php_root_path is het path naar je phpbb directory
Het kan misschien wel eenvoudiger, maar ik weet niet hoe.
En wb. de groepen, ik gebruik ze zelf niet, maar heb in de sql-tabel gekeken en vlgs mij moet het zo kloppen
Jan
Dus, als ik het goed begrijp (sorry hoor ) dien ik in: de 3 te vervangen door de naam van m'n usergroup.
en in LOCAAL_WWWROOTPATH/forum/ door het path waar bij m'n forum in staat?
mvg,
Code: Selecteer alles
$ALLOWED_GROUP = "3";
en in
Code: Selecteer alles
$phpbb_root_path = "LOCAAL_WWWROOTPATH/forum/";
mvg,
Hier het werkende script, uitgaande van de groepsnaam:
Je kunt dirname(__FILE__) . "/" ook vervangen door het path tussen twee quotes.
Wanneer je echter het bestand in de phpbb directory hebt staan werkt het ook met __FILE__ en hoef je het volledige path niet in te typen
Verder in $ALL_GROUP_NAME = "Admin"; Admin vervangen door de juiste groep.
Uiteraard de teksten aanpassen en de echo("Als je dit op je scherm etc..... vervangen door de code van je pagina.
Hier werkt het op deze manier, maar geen garanties dat het bij jou ook werkt
Groeten,
Jan
Code: Selecteer alles
<?php
$ALL_GROUP_NAME = "Admin";
// Controls for phpbb login inclusion
$CHECK_ALLOWED = 0;
define('IN_PHPBB', true);
$phpbb_root_path = dirname(__FILE__) . "/";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, INDEX);
init_userprefs($userdata);
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT group_id FROM " . GROUPS_TABLE . " WHERE group_name = CONVERT( _utf8 '$ALL_GROUP_NAME' USING latin1 ) ";
if (!($result = $db->sql_query($sql)))
{
die("ERROR FINDING GROUP_ID IN SQL TABLE");
}
$_grp = $db->sql_fetchrow($result);
$_usr = $userdata[0][0];
$sql = "SELECT group_id FROM " . USER_GROUP_TABLE . " WHERE user_id = $_usr";
if (!($result = $db->sql_query($sql)))
{
die("ERROR FINDING USER_ID IN SQL TABLE");
}
$_row = $db->sql_fetchrow($result);
if ($_row[0] = $_grp[0])
{
$CHECK_ALLOWED = 1;
}
}
if ($CHECK_ALLOWED == 0)
{
echo ("U HEBT GEEN TOEGANG TOT DIT DEEL VAN DE WEBSITE");
die();
}
echo ("ALS JE DIT OP JE SCHERM KRIJGT DAN BEN JE INGELOGD EN ZIT JE IN DE USERGROUP");
Wanneer je echter het bestand in de phpbb directory hebt staan werkt het ook met __FILE__ en hoef je het volledige path niet in te typen
Verder in $ALL_GROUP_NAME = "Admin"; Admin vervangen door de juiste groep.
Uiteraard de teksten aanpassen en de echo("Als je dit op je scherm etc..... vervangen door de code van je pagina.
Hier werkt het op deze manier, maar geen garanties dat het bij jou ook werkt
Groeten,
Jan
Code: Selecteer alles
<?php
$ALL_GROUP_NAME = "Admin";
// Controls for phpbb login inclusion
$CHECK_ALLOWED = false;
define('IN_PHPBB', true);
$phpbb_root_path = dirname(__FILE__) . "/";
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
if ( $userdata['session_logged_in'] )
{
$sql = "SELECT group_id FROM " . GROUPS_TABLE . " WHERE group_name = CONVERT( _utf8 '$ALL_GROUP_NAME' USING latin1 ) ";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR,"Could not select id","",__LINE__,__FILE__,$sql);
}
$_grp = $db->sql_fetchrow($result);
$_usr = $userdata[0][0];
$sql = "SELECT group_id FROM " . USER_GROUP_TABLE . " WHERE user_id = $_usr";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR,"Could not select group","",__LINE__,__FILE__,$sql);
}
$_row = $db->sql_fetchrow($result);
if ($_row[0] == $_grp[0])
{
$CHECK_ALLOWED = true;
}
}
if (!$CHECK_ALLOWED)
{
message_die(GENERAL_MESSAGE,"Je hebt geen toegang tot deze pagina","");
}
echo ("ALS JE DIT OP JE SCHERM KRIJGT DAN BEN JE INGELOGD EN ZIT JE IN DE USERGROUP");
Ik heb het eerst geprobeerd zonder, maar dat bleek hier niet te werken.
Misschien dat mijn tabellen destijds niet goed zijn aangemaakt dan, dat zou kunnen, iig heb ik phpmyadmin erbij gepakt, en geselecteerd op 'Admin' en de regel overgenomen zoals hij in phpmyadmin gebruikt werd.
Daarmee was bij mij het probleem opgelost, en werkte alles keurig netjes
Jan
Misschien dat mijn tabellen destijds niet goed zijn aangemaakt dan, dat zou kunnen, iig heb ik phpmyadmin erbij gepakt, en geselecteerd op 'Admin' en de regel overgenomen zoals hij in phpmyadmin gebruikt werd.
Daarmee was bij mij het probleem opgelost, en werkte alles keurig netjes
Jan
Ik heb het denet getest met deze query:
Op een mysql 5.0.16, met een phpbb 2.0.18, en werkt perfect
Code: Selecteer alles
$sql = "SELECT group_id FROM " . GROUPS_TABLE . " WHERE group_name = '$ALL_GROUP_NAME'";