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

autenticación de usuarios basado en el phpBB

Estas en el tema de autenticación de usuarios basado en el phpBB en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola a todos, espero que me puedan ayudar, pues soy nuevo en este foro. Tengo instalado el phpBB 2.0.8 y quisiera saber cómo hacer para ...
  #1 (permalink)  
Antiguo 03/04/2004, 09:28
 
Fecha de Ingreso: agosto-2003
Mensajes: 15
Antigüedad: 20 años, 8 meses
Puntos: 0
Pregunta autenticación de usuarios basado en el phpBB

Hola a todos, espero que me puedan ayudar, pues soy nuevo en este foro.
Tengo instalado el phpBB 2.0.8 y quisiera saber cómo hacer para tener un sistema de administración de usuarios basado en la base de datos utilizada por phpBB.
¿Por qué quiero hacer esto? Por varias razones:
-Quiero un sistema de usuarios que me sirva para más cosas que tener acceso al phpBB, como acceso a concursos, etc.
-Logeo desde la entrada de mi portal y no exclusivamente desde la entrada de phpBB.
-Tengo muchos formularios en mi web, como petición de lyrics, envío de panoramas, publicación de poesía, ranking musical, lista de correo, etc. La verdad es que es una lata llenar a cada rato formularios. Sería genial tener un sistema de usuarios que englobara todas estas funciones de mi web. pero no me gustaría tener un sistema independiente del de phpBB.
-Y todas esas posibilidades que se imaginan.

Ah... no me interesa phpNuke ni ningún portal preinstalado, porque mi web ya tiene un estilo propio, que no me interesa cambiar.

Espero una pronta respuesta.
  #2 (permalink)  
Antiguo 07/06/2004, 18:48
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 20 años, 6 meses
Puntos: 0
ando intentando algo similar, no tengo los scripts ahora, pero voy a ver si puedo postearlos mañana, si tienes algo avanzado podemos comparar notas

saludos
  #3 (permalink)  
Antiguo 10/06/2004, 18:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 20 años, 6 meses
Puntos: 0
Pues ya hice un revoltijo y modificando el autentificator de Clúster ya tengo acceso a la base de datos de phpbb y puedo controlar la entrada de usuarios, moderadores o administradores a las páginas que quiero, el problema que tengo ahora, es transmitir la session al foro, porque cuando uso el link del foro me tengo que logear de nuevo.

Aún estoy modificando el script de clúster para que usen las mismas variables, como $usuario_datos por $userdata y el nombre de la sesión, también me falta la parte del SID para transmitir la sesión del portal al foro y viceversa pero eso aún no encuentro como.

No iba a pedir ayuda todavía pero aprovecho y ya no abro otro mensaje, la página es esta si ingresas con:
usuario: productor
pass: prueba

verán la página prohibida del script de clúster, pero al dar click en el enlace foro, te lleva al phpbb pero sin continuar la sesión.

Ahorita pongo los scripts
  #4 (permalink)  
Antiguo 10/06/2004, 18:11
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 20 años, 6 meses
Puntos: 0
Información scripts

Está basado en el autentificador de clúster, supongo que por su licencia no hay problema en que lo ponga, si algún moderador cosidera que no debí hacerlo por favor borrelo, que yo


index.php<br>
Código PHP:
<?
  
// No almacenar en el cache del navegador esta página.
        
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                     // Expira en fecha pasada
        
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");        // Siempre página modificada
        
header("Cache-Control: no-cache, must-revalidate");                   // HTTP/1.1
        
header("Pragma: no-cache");                                           // HTTP/1.0
?>
<html>
<head>
<title>titulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="f.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
@import url("css.css");
-->
</style>
</head>

<body bgcolor="#000000" leftmargin="0" topmargin="0" rightmargin="0" marginwidth=0 marginheight=0 width=778 marginleft="0" marginright="0" frameborder=0>
<table width="250" border="1" cellspacing="0" cellpadding="0" align="center" bordercolor="#0099FF">
  <tr> 
    <td> <table width=100% border=0 align="center" cellpadding="0" cellspacing="0" bordercolor="#009999" bgcolor="#CCFFCC">
        <form action="pag1_restringido.php" method="post">
          <tr bgcolor="#0099FF"> 
            <td colspan="2" height="45"> <div align="center"><font face="Arial" color="#FFFFFF" size=2><b>Identificaci&oacute;n 
                Usuarios<br>
                <font color="#FFFF00">www.tupagina.tal</font></b></font></div></td>
          </tr>
          <tr> 
            <td colspan="2"> <div align="center"> 
                <table width="100%" border="0" cellspacing="0" cellpadding="5">
                  <tr valign="middle"> 
                    <td colspan="2" height="30"> <div align="center"> 
                        <?
                          
// Mostrar error de Autentificación.
                          
include ("aut_mensaje_error.inc.php");
                          if (isset(
$_GET['error_login'])){
                              
$error=$_GET['error_login'];
                          echo 
"<font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#FF0000'>Error: $error_login_ms[$error]";
                          }
                         
?>
                      </div></td>
                  </tr>
                  <tr> 
                    <td width="39%"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Usuario 
                        : </font></div></td>
                    <td width="61%"> <div align="left"> 
                        <input type="text" name="user" size="15" class="imputbox">
                      </div></td>
                  </tr>
                  <tr> 
                    <td width="39%"> <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Password 
                        : </font></div></td>
                    <td width="61%"> <div align="left"> 
                        <input type="password" name="pass" size="15" class="imputbox">
                      </div></td>
                  </tr>
                </table>
              </div></td>
          </tr>
          <tr valign="middle"> 
            <td colspan="2" height="50"> <div align="center"><font face="Arial" color=black size=2> 
                <input name=submit type=submit value="  Entrar  " class="botones">
                </font></div></td>
          </tr>
        </form>
      </table></td>
  </tr>
</table>
</body>
</html>
aut.verifica.inc.php
Código PHP:
<?
// Motor autentificación usuarios.

// Cargar datos conexion y otras variables.
require ("aut_config.inc.php");


// chequear página que lo llama para devolver errores a dicha página.

$url explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];
$redir=$pag_referida;
// chequear si se llama directo al script.
if ($_SERVER['HTTP_REFERER'] == ""){
die (
"Error cod.:1 - Acceso incorrecto!");
exit;
}


// Chequeamos si se está autentificandose un usuario por medio del formulario
if (isset($_POST['user']) && isset($_POST['pass'])) {

// Conexión base de datos.
// si no se puede conectar a la BD salimos del scrip con error 0 y
// redireccionamos a la pagina de error.
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

// realizamos la consulta a la BD para chequear datos del Usuario.
$usuario_consulta mysql_query("SELECT * FROM $sql_tabla WHERE username='".$_POST['user']."'") or die(header ("Location:  $redir?error_login=1"));

 
// miramos el total de resultado de la consulta (si es distinto de 0 es que existe el usuario)
 
if (mysql_num_rows($usuario_consulta) != 0) {

    
// eliminamos barras invertidas y dobles en sencillas
    
$login stripslashes($_POST['user']);
    
// encriptamos el password en formato md5 irreversible.
    
$password md5($_POST['pass']);

    
// almacenamos datos del Usuario en un array para empezar a chequear.
     
$usuario_datos mysql_fetch_array($usuario_consulta);
  
    
// liberamos la memoria usada por la consulta, ya que tenemos estos datos en el Array.
    
mysql_free_result($usuario_consulta);
    
// cerramos la Base de dtos.
    
mysql_close($db_conexion);
    
    
// chequeamos el nombre del usuario otra vez contrastandolo con la BD
    // esta vez sin barras invertidas, etc ...
    // si no es correcto, salimos del script con error 4 y redireccionamos a la
    // página de error.
    
if ($login != $usuario_datos['username']) {
           
Header ("Location: $redir?error_login=4");
        exit;}

    
// si el password no es correcto ..
    // salimos del script con error 3 y redireccinamos hacia la página de error
    
if ($password != $usuario_datos['user_password']) {
        
Header ("Location: $redir?error_login=3");
        exit;}

    
// Paranoia: destruimos las variables login y password usadas
    
unset($login);
    unset (
$password);

    
// En este punto, el usuario ya esta validado.
    // Grabamos los datos del usuario en una sesion.
    
     // le damos un mobre a la sesion.
    
session_name($usuarios_sesion);
     
// incia sessiones
    
session_start();

session_register('count');

    
// Paranoia: decimos al navegador que no "cachee" esta página.
    
session_cache_limiter('nocache,private');
    
    
// Asignamos variables de sesión con datos del Usuario para el uso en el
    // resto de páginas autentificadas.

    // definimos usuarios_id como IDentificador del usuario en nuestra BD de usuarios
    
$_SESSION['usuario_id']=$usuario_datos['user_id'];
    
    
// definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_nivel']=$usuario_datos['user_level'];
    
    
//definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_login']=$usuario_datos['username'];

    
//definimos usuario_password con el password del usuario de la sesión actual (formato md5 encriptado)
    
$_SESSION['usuario_password']=$usuario_datos['user_password'];


    
// Hacemos una llamada a si mismo (scritp) para que queden disponibles
    // las variables de session en el array asociado $HTTP_...
    
$pag=$_SERVER['PHP_SELF'];
    
Header ("Location: $pag?");
    exit;
    
   } else {
      
// si no esta el nombre de usuario en la BD o el password ..
      // se devuelve a pagina q lo llamo con error
      
Header ("Location: $redir?error_login=2");
      exit;}
} else {

// -------- Chequear sesión existe -------

// usamos la sesion de nombre definido.
session_name($usuarios_sesion);
// Iniciamos el uso de sesiones
session_start();

// Chequeamos si estan creadas las variables de sesión de identificación del usuario,
// El caso mas comun es el de una vez "matado" la sesion se intenta volver hacia atras
// con el navegador.

if (!isset($_SESSION['usuario_login']) && !isset($_SESSION['usuario_password'])){
// Borramos la sesion creada por el inicio de session anterior
session_destroy();
die (
"Error cod.: 2 - Acceso incorrecto!");
exit;
}
}
?>
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 12:31.