Toegang webpagina's

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Guust
Berichten: 96
Lid geworden op: 06 sep 2005, 23:41
Locatie: Mechelen
Contacteer:

Toegang webpagina's

Bericht door Guust » 27 okt 2005, 18:56

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,
Laatst gewijzigd door Guust op 15 dec 2005, 21:40, 2 keer totaal gewijzigd.

Gebruikersavatar
Lady Elensar
Berichten: 592
Lid geworden op: 17 okt 2005, 00:48

Bericht door Lady Elensar » 27 okt 2005, 21:35

Volgensmij kun je dit gewoon bij permissies instellen. Ik kan het je niet precies zeggen, want m'n acp is iets veranderd, maar ik geloof dat je bij groepsbeheer, bij de permissies, dat kan instellen.

Guust
Berichten: 96
Lid geworden op: 06 sep 2005, 23:41
Locatie: Mechelen
Contacteer:

Bericht door Guust » 27 okt 2005, 21:52

:( Ik vind helaas niets onder permissies. Enkel de verschillende Fora kan ik hierin aanpassen, geen (externe) html pagina's van m'n website...

Guust
Berichten: 96
Lid geworden op: 06 sep 2005, 23:41
Locatie: Mechelen
Contacteer:

Bericht door Guust » 09 nov 2005, 23:42

:wave: Is er iemand die mij kan helpen?

:? Ik meen eens ergens gelezen te hebben dat je simpelweg een stukje in php dient toe te voegen bovenaan je html-code van elke pagina die je achter de inlog wil zetten Klopt dit?
En welke php-code zet ik er dan voor?


Mvg,

Gebruikersavatar
Lady Elensar
Berichten: 592
Lid geworden op: 17 okt 2005, 00:48

Bericht door Lady Elensar » 10 nov 2005, 22:09

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? :)

XP-Rene
Berichten: 2168
Lid geworden op: 01 dec 2004, 19:33
Locatie: Vlissingen
Contacteer:

Bericht door XP-Rene » 10 nov 2005, 22:15

Misschien heb je hier iets aan?
KNAVIVO DIERENHULP
Stimuleer verdraagzaamheid. Wees eens wat vaker irritant.

Guust
Berichten: 96
Lid geworden op: 06 sep 2005, 23:41
Locatie: Mechelen
Contacteer:

Bericht door Guust » 22 nov 2005, 23:53

XP-Rene schreef:Misschien heb je hier iets aan?
:? 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.

mvg, en toch bedankt Rene!!

TWEagle
Berichten: 782
Lid geworden op: 18 nov 2005, 19:45
Locatie: Peer
Contacteer:

Bericht door TWEagle » 24 nov 2005, 18:13

post in een forum die linken maar maak dat forum alleen toegankelijk voor die group?

en anders die usergroup een aantal accounts aanmaken via iis als het een windowsserver is en die daar toegang tot geven?

Lontronics

Bericht door Lontronics » 24 nov 2005, 19:05

Ik denk dat je dit bedoelt: http://www.phpbb.nl/viewtopic.php?t=24353 ;)

Groeten,
Jan

Guust
Berichten: 96
Lid geworden op: 06 sep 2005, 23:41
Locatie: Mechelen
Contacteer:

Bericht door Guust » 24 nov 2005, 21:26

Lontronics schreef:Ik denk dat je dit bedoelt: http://www.phpbb.nl/viewtopic.php?t=24353 ;)

Groeten,
Jan
:thumb: Inderdaad! Dit is het zowat denk ik, enkel... ik zou ook willen selecteren op usergroup. Dus enkel die bepaalde gebruikersgroep mag toegang krijgen.
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,

Lontronics

Bericht door Lontronics » 25 nov 2005, 00:39

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:

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();
}
Ik heb net ff zitten testen, puur met code die ik uit de pagina's van phpbb pik en dan werkt het volgende:

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
$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

Guust
Berichten: 96
Lid geworden op: 06 sep 2005, 23:41
Locatie: Mechelen
Contacteer:

Bericht door Guust » 25 nov 2005, 10:03

Dus, als ik het goed begrijp (sorry hoor :oops: ) dien ik in:

Code: Selecteer alles

$ALLOWED_GROUP = "3"; 
de 3 te vervangen door de naam van m'n usergroup.

en in

Code: Selecteer alles

$phpbb_root_path =  "LOCAAL_WWWROOTPATH/forum/"; 
LOCAAL_WWWROOTPATH/forum/ door het path waar bij m'n forum in staat?

mvg,

Lontronics

Bericht door Lontronics » 25 nov 2005, 10:47

Niet de naam maar het nummer, wat overeenkomt met het nummer wat in de phpbb tabel staat bij de usergroup :wink:

Ik zal vanavond nog wel ff snuffelen om te kijken of ik het iets eenvoudiger voor je kan maken door de naam van de usergroep te gebruiken.

Guust
Berichten: 96
Lid geworden op: 06 sep 2005, 23:41
Locatie: Mechelen
Contacteer:

Bericht door Guust » 25 nov 2005, 10:55

Die snelheid, die souplesse...!

:bier: alvast bedankt, ga het vanmiddag eens proberen!

mvg,

Lontronics

Bericht door Lontronics » 25 nov 2005, 23:50

Hier het werkende script, uitgaande van de groepsnaam:

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");
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 :D

Groeten,
Jan

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20297
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 26 nov 2005, 10:52

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"); 
Even beetje aangepast aan de phpbb standaard, en waarom gebruik je CONVERT in je query, lijkt me beetje onzinnig :?

Lontronics

Bericht door Lontronics » 26 nov 2005, 11:14

probeer het maar eens zonder ;)

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20297
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 26 nov 2005, 11:23

phpbb gebruikt het ook niet, en lijkt me dus niet zo nodig. Heb hier even geen phpbb zo draaien, dus kan ff niet testen.

Lontronics

Bericht door Lontronics » 26 nov 2005, 11:37

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

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20297
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 26 nov 2005, 11:45

Ik heb het denet getest met deze query:

Code: Selecteer alles

$sql = "SELECT group_id FROM " . GROUPS_TABLE . " WHERE group_name = '$ALL_GROUP_NAME'";
Op een mysql 5.0.16, met een phpbb 2.0.18, en werkt perfect :)

Gesloten