Pregunta

Actualmente estoy usando un foro PHPBB2 para una sección de uno de mis sitios, y me gustaría ampliar este sitio (agregar nuevas páginas, scripts, etc.). Me gustaría restringir el acceso a estas páginas a los usuarios que ya han iniciado sesión en el foro PHPBB2.

De hecho, si solo los miembros de un determinado grupo de miembros pudieran acceder a estas páginas, sería genial.

¿Hay alguna manera de usar las mismas credenciales de inicio de sesión en el resto de mi sitio y verificar de qué grupos son los miembros?

Gracias

(por cierto, estas páginas están en PHP)

¿Fue útil?

Solución

Si un usuario ha iniciado sesión en PHPBB, existe una buena posibilidad, aunque no siempre probable, de que tenga una cookie que pueda leer y ayudar a verificar quién es quién en la base de datos.

En este caso, querrás romper las migajas de la cookie a continuación:

Si un usuario ha iniciado sesión en PHPBB, existe una buena posibilidad, aunque no siempre probable, de que tenga una cookie que pueda leer y ayudar a verificar quién es quién en la base de datos.

En este caso, querrás romper las migajas de la cookie a continuación:

a:2:{s:11:"autologinid";s:0:"";s:6:"userid";s:1:"3";}

Usemos un ejemplo y soplemos para encontrar los datos que necesitamos consultar en la base de datos. A continuación se muestra el fragmento que se encuentra en la cookie anterior:

 $goo = unserialize(

Si un usuario ha iniciado sesión en PHPBB, existe una buena posibilidad, aunque no siempre probable, de que tenga una cookie que pueda leer y ayudar a verificar quién es quién en la base de datos.

En este caso, querrás romper las migajas de la cookie a continuación:

Si un usuario ha iniciado sesión en PHPBB, existe una buena posibilidad, aunque no siempre probable, de que tenga una cookie que pueda leer y ayudar a verificar quién es quién en la base de datos.

En este caso, querrás romper las migajas de la cookie a continuación:

a:2:{s:11:"autologinid";s:0:"";s:6:"userid";s:1:"3";}

Usemos un ejemplo y soplemos para encontrar los datos que necesitamos consultar en la base de datos. A continuación se muestra el fragmento que se encuentra en la cookie anterior:

SELECT pug.user_id FROM phpbb_user_group pug 
 LEFT JOIN phpbb_groups g 
 ON pug.group_id=g.group_id
 WHERE pug.user_id='$extracted_id'
 AND g.group_name='Foo';

Para esto, querrás entrar y extraer ese " 3 " que corresponde al usuario registrado de PHPBB.

Deserialice esos datos para eliminar ese ID_usuario:

<*>

(Gracias a epochwolf por señalar la forma serializada anterior de esa cookie)

Ese número será bueno para ejecutarse en la base de datos para verificar a qué grupo pertenece el miembro. Y ejecutaría la comprobación contra la tabla phpbb_user_group (si tuviera phpbb_ como prefijo de las tablas de su foro).

Si no desea realizar un seguimiento de las ID de grupo de la base de datos, deberá realizar algún tipo de unión y probar el nombre. Tal vez algo como esto:

<*>

Si puede sacar una fila de eso, entonces se ha encontrado un usuario conectado que pertenece a ese grupo Foo.

COOKIE["phpbb2mysql_data"]

Usemos un ejemplo y soplemos para encontrar los datos que necesitamos consultar en la base de datos. A continuación se muestra el fragmento que se encuentra en la cookie anterior:

<*>

Para esto, querrás entrar y extraer ese " 3 " que corresponde al usuario registrado de PHPBB.

Deserialice esos datos para eliminar ese ID_usuario:

<*>

(Gracias a epochwolf por señalar la forma serializada anterior de esa cookie)

Ese número será bueno para ejecutarse en la base de datos para verificar a qué grupo pertenece el miembro. Y ejecutaría la comprobación contra la tabla phpbb_user_group (si tuviera phpbb_ como prefijo de las tablas de su foro).

Si no desea realizar un seguimiento de las ID de grupo de la base de datos, deberá realizar algún tipo de unión y probar el nombre. Tal vez algo como esto:

<*>

Si puede sacar una fila de eso, entonces se ha encontrado un usuario conectado que pertenece a ese grupo Foo.

COOKIE["phpbb2mysql_data"]); $extracted_id = $goo["userid"];

Para esto, querrás entrar y extraer ese " 3 " que corresponde al usuario registrado de PHPBB.

Deserialice esos datos para eliminar ese ID_usuario:

<*>

(Gracias a epochwolf por señalar la forma serializada anterior de esa cookie)

Ese número será bueno para ejecutarse en la base de datos para verificar a qué grupo pertenece el miembro. Y ejecutaría la comprobación contra la tabla phpbb_user_group (si tuviera phpbb_ como prefijo de las tablas de su foro).

Si no desea realizar un seguimiento de las ID de grupo de la base de datos, deberá realizar algún tipo de unión y probar el nombre. Tal vez algo como esto:

<*>

Si puede sacar una fila de eso, entonces se ha encontrado un usuario conectado que pertenece a ese grupo Foo.

COOKIE["phpbb2mysql_data"]

Usemos un ejemplo y soplemos para encontrar los datos que necesitamos consultar en la base de datos. A continuación se muestra el fragmento que se encuentra en la cookie anterior:

<*>

Para esto, querrás entrar y extraer ese " 3 " que corresponde al usuario registrado de PHPBB.

Deserialice esos datos para eliminar ese ID_usuario:

<*>

(Gracias a epochwolf por señalar la forma serializada anterior de esa cookie)

Ese número será bueno para ejecutarse en la base de datos para verificar a qué grupo pertenece el miembro. Y ejecutaría la comprobación contra la tabla phpbb_user_group (si tuviera phpbb_ como prefijo de las tablas de su foro).

Si no desea realizar un seguimiento de las ID de grupo de la base de datos, deberá realizar algún tipo de unión y probar el nombre. Tal vez algo como esto:

<*>

Si puede sacar una fila de eso, entonces se ha encontrado un usuario conectado que pertenece a ese grupo Foo.

Otros consejos

Use la tabla de usuario de PHPBB2 y su código de inicio de sesión y permisos en las otras páginas. Está sucio pero funciona.

Al usar el código PHPBB2, quiero decir:

Profundice en el código PHPBB2, descubra cómo PHPBB2 autentica a los usuarios y copie los fragmentos de código relevantes. Si PHPBB2 tiene una estructura decente, es posible que pueda incluir un par de archivos desde PHPBB2 y usarlos sin un trabajo de pirateo importante. Si no está bien estructurado, será sucio y feo.

¡No olvide probar sus nuevas adiciones seguras a su sitio web! Asegúrate de tener los hacks correctos.

Puede usar las tablas de usuarios y grupos de phpBB 2 directamente. Según recuerdo, la columna de contraseña es solo un md5 () de la contraseña real.

Este truco ya no funciona en phpBB3, ya que la contraseña es (finalmente) salada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top