Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Restringir acceso a partes web donde mantengo sesion phpBB

Estas en el tema de Restringir acceso a partes web donde mantengo sesion phpBB en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola, tengo los foros phpbb adaptados al completo de mi web... y ahora deseo restringir el acceso a diferentes secciones de descargas solo para usuarios ...
  #1 (permalink)  
Antiguo 28/11/2005, 12:35
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
Exclamación Restringir acceso a partes web donde mantengo sesion phpBB

Hola,

tengo los foros phpbb adaptados al completo de mi web... y ahora deseo restringir el acceso a diferentes secciones de descargas solo para usuarios registrados,

Este es el script con el que continuo la sesión:
Código PHP:
<?php $volver "../temas/temas.php"
define('IN_PHPBB'true); 
$phpbb_root_path = (dirname($_SERVER['PHP_SELF'])=="../foros/") ? './' '../foros/'; if (!function_exists("init_userprefs")) 

include(
$phpbb_root_path 'extension.inc'); 
include(
$phpbb_root_path 'common.'.$phpEx); 
$userdata session_pagestart($user_ipPAGE_INDEX); 
init_userprefs($userdata); 
global 
$db$board_config
global 
$HTTP_COOKIE_VARS$HTTP_GET_VARS$SID
$cookiename $board_config['cookie_name']; 
$cookiepath $board_config['cookie_path']; 
$cookiedomain $board_config['cookie_domain']; 
$cookiesecure $board_config['cookie_secure']; 
}
?>
Que debo modificar??
  #2 (permalink)  
Antiguo 29/11/2005, 03:17
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Seguramente será algo así:

Código PHP:
<?php $volver "../temas/temas.php"
define('IN_PHPBB'true); 
$phpbb_root_path = (dirname($_SERVER['PHP_SELF'])=="../foros/") ? './' '../foros/'; if (!function_exists("init_userprefs")) 

include(
$phpbb_root_path 'extension.inc'); 
include(
$phpbb_root_path 'common.'.$phpEx); 
$userdata session_pagestart($user_ipPAGE_INDEX); 
init_userprefs($userdata); 
global 
$db$board_config
global 
$HTTP_COOKIE_VARS$HTTP_GET_VARS$SID
$cookiename $board_config['cookie_name']; 
$cookiepath $board_config['cookie_path']; 
$cookiedomain $board_config['cookie_domain']; 
$cookiesecure $board_config['cookie_secure']; 
}

// Añado a partir de aqui
if ($userdata[user_id] == -1) {
// Pones lo que quieres que salga si no pueden acceder
// El user_id = -1 es el usuario anónimo (sin registrar)
echo "Contenido sólo accesible para usuarios registrados";
exit;
}
// Si llegan hasta aquí, es que están registrados, por tanto muestras tu página.
?>
Bla bla bla...
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #3 (permalink)  
Antiguo 29/11/2005, 09:51
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
Muchas gracias ferny... joder con lo facil que era y yo que no daba con el asunto.

Saludos
  #4 (permalink)  
Antiguo 19/12/2005, 07:09
 
Fecha de Ingreso: julio-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
utilizo este código en varias páginas de la siguiente forma:
Código PHP:
<? include ("p_sesion.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<? include ("p_seguridade.php"); ?>
<html xmlns="http://www.w3.org/1999/xhtml" lang="gl" xml:lang="gl">
<head profile="http://geotags.com/geo">
pero me sale esto:
Código:
Warning: Cannot modify header information - headers already sent by (output started at /data/members/free/tripod/es/a/p/i/apintega/htdocs/index.php:1) in /data/members/free/tripod/es/a/p/i/apintega/htdocs/foro/includes/sessions.php on line 258

Warning: Cannot modify header information - headers already sent by (output started at /data/members/free/tripod/es/a/p/i/apintega/htdocs/index.php:1) in /data/members/free/tripod/es/a/p/i/apintega/htdocs/foro/includes/sessions.php on line 259
¿Que puedo hacer para solucionarlo?
  #5 (permalink)  
Antiguo 20/12/2005, 07:21
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
pues ni idea como no expongas el codigo al que llama cada include lo llevamos claro.

pon el codigo please
  #6 (permalink)  
Antiguo 20/12/2005, 07:54
 
Fecha de Ingreso: julio-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
Código de los includes

Perdón, los códigos son estos:
p_sesion:
Código PHP:
<?php
$volver
="../index.php";
define('IN_PHPBB'true);
$phpbb_root_path 'foro/'//PATH DEL FORO RESPECTO DEL SCRIPT
if (!function_exists("init_userprefs"))
{
    include(
$phpbb_root_path 'extension.inc');
    include(
$phpbb_root_path 'common.'.$phpEx);
    
$userdata session_pagestart($user_ipPAGE_INDEX);
    
init_userprefs($userdata);
    global 
$db$board_config;
    global 
$HTTP_COOKIE_VARS$HTTP_GET_VARS$SID;
    
$cookiename $board_config['cookie_name'];
    
$cookiepath $board_config['cookie_path'];
    
$cookiedomain $board_config['cookie_domain'];
    
$cookiesecure $board_config['cookie_secure'];
}
// determinamos si cookie activada sino propagamos sid por url
   
if ( !(isset($HTTP_COOKIE_VARS[$cookiename '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename '_data'])) )
   {
   
output_add_rewrite_var('sid'$userdata['session_id']);
 }
 
?>
p_seguridade:
Código PHP:
<?
$acceso_a_grupos
=array("Taberneiros","Administradores");
if ( 
$userdata['session_logged_in'] )
{
    
$sql mysql_query("SELECT g.group_id, g.group_name, g.group_type, ug.user_pending
            FROM " 
GROUPS_TABLE " g, " USER_GROUP_TABLE " ug
            WHERE ug.user_id = " 
$userdata['user_id'] . "   
                AND ug.group_id = g.group_id
                AND g.group_single_user <> " 
TRUE "
            ORDER BY g.group_name, ug.user_id"
);
    while(
$row=mysql_fetch_array($sql))
        
$membresia_usuario[]=$row['group_name'];
}
$acceso=FALSE;
if (
is_array($membresia_usuario))
{
    foreach(
$membresia_usuario as $grupo)
        if (
in_array($grupo,$acceso_a_grupos))
            
$acceso=TRUE;
}
?>
Si se necesita alguna explicación más avisadme
  #7 (permalink)  
Antiguo 20/12/2005, 17:16
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Prueba poniendolo asi:

Código PHP:
<?
include ("p_sesion.php");
include (
"p_seguridade.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="gl" xml:lang="gl">
<head profile="http://geotags.com/geo">
No dejes ningún espacio ni nada antes del <?

__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #8 (permalink)  
Antiguo 21/12/2005, 03:04
 
Fecha de Ingreso: julio-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
Sigue fallando

Sigue fallando, pero ahora tengo una duda: ¿podría ser que tengo la página alojada en lycos y colaca automáticamente un banner en la parte superior?
A Píntega: Taberna Virtual
De ser este el problema, ¿se podría solucionar?

Otro dato importante es que, cuando me logueo y junto al index aparece el sid, no sale el mensaje de error...

Última edición por Matachin; 21/12/2005 a las 06:56
  #9 (permalink)  
Antiguo 22/12/2005, 08:54
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Pues va a ser que sí... Cambia de hosting si puedes

__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #10 (permalink)  
Antiguo 23/12/2005, 10:51
 
Fecha de Ingreso: julio-2005
Mensajes: 29
Antigüedad: 18 años, 10 meses
Puntos: 0
No hay solución?

Supongo que la solucion será un hosting de pago, pero antes de abandonar me gustaría si alguien conoce una solución al problema.

Y otra cosa ¿por qué no hay problemas en el foro en sí con las cabeceras y si en el resto de la página?
  #11 (permalink)  
Antiguo 24/12/2005, 06:30
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
La solución es tan sencilla como no poner nada antes del <?

Tú no lo has puesto en tu archivo, hasta ahí bien, pero el que lo está poniendo es lycos, con la publicidad, por eso tienes que cambiar de host si quieres que funcione... Pueden poner publicidad, pero no que añadan algo al principio de la página como es este caso.

Yo te recomendaría un host de pago, puedes encontrar algo por menos de 40 euros al año y te incluye dominio propio, soporte técnico, y sin publicidad (incluso puedes poner tú la que quieras y sacar un dinerito)

Suerte
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #12 (permalink)  
Antiguo 15/03/2006, 14:41
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
¿¿y si solo quiero que accedan moderadores que numerito es??

o solo administradores??

saludos
  #13 (permalink)  
Antiguo 15/03/2006, 16:14
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Usuario anónimo: -1
Usuario normal: 0
Moderador: 2
Administrador: 1
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #14 (permalink)  
Antiguo 22/03/2006, 20:06
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
nadie sabe naaa?
  #15 (permalink)  
Antiguo 24/03/2006, 17:30
MindPaniC
Invitado
 
Mensajes: n/a
Puntos:
vaya, que lerdo soy... ya me di cuenta de como iba la movida.

Código PHP:
<?php $volver "../temas/temas.php"
define('IN_PHPBB'true); 
$phpbb_root_path = (dirname($_SERVER['PHP_SELF'])=="../foros/") ? './' '../foros/'; if (!function_exists("init_userprefs")) 

include(
$phpbb_root_path 'extension.inc'); 
include(
$phpbb_root_path 'common.'.$phpEx); 
$userdata session_pagestart($user_ipPAGE_INDEX); 
init_userprefs($userdata); 
global 
$db$board_config
global 
$HTTP_COOKIE_VARS$HTTP_GET_VARS$SID
$cookiename $board_config['cookie_name']; 
$cookiepath $board_config['cookie_path']; 
$cookiedomain $board_config['cookie_domain']; 
$cookiesecure $board_config['cookie_secure']; 
}

// Añado a partir de aqui
if ($userdata[user_level]!= 1) {
// Pones lo que quieres que salga si no pueden acceder
// El user_id = -1 es el usuario anónimo (sin registrar)
echo "Contenido sólo accesible para usuarios registrados";
exit;
}
// Si llegan hasta aquí, es que están registrados, por tanto muestras tu página.
?>
Bla bla bla...
Consiste en cambiar el user_id por user_level y ponerlo en diferente es decir en !="catergoria de usuario"

asi si el usuario no tiene esa categoria no podra entrar.

saludos

Última edición por MindPaniC; 24/03/2006 a las 18:16
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:25.