elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  Falla en el mod Seo4SMF para SMF
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] 4 Ir Abajo Respuesta Imprimir
Autor Tema: Falla en el mod Seo4SMF para SMF  (Leído 20,049 veces)
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Parche para Seo4SMF 0.2.2.9 para SMF
« Respuesta #20 en: 16 Enero 2009, 05:42 am »

Acá una función que hize para verificar el acceso a la visualización de títulos de temas o boards (==)
Código
  1. function seo_verifica_permisos($id, $tipo){
  2. global $user_info, $db_prefix;
  3. if(!$id = (int)$id){
  4. return false;
  5. }
  6. if($user_info['is_admin'] == '1'){
  7. return true; // Si es administrador entonces tiene permisos por defecto.
  8. }
  9. if($tipo == 'board'){ // Procesa Board
  10. if($request = @db_query("
  11. SELECT memberGroups
  12. FROM {$db_prefix}boards
  13. WHERE ID_BOARD = {$id}
  14. LIMIT 1", __FILE__, __LINE__)){
  15. if($row = @mysql_fetch_assoc($request)){
  16. mysql_free_result($request);
  17. }
  18. }
  19. if(!$permisos = @explode(',', $row['memberGroups'])){
  20. if(!$permisos = (int)$row['memberGroups']){ // Hay permiso solo para un tipo de usuario
  21. return false; // No hay permisos preestablecidos
  22. }
  23. }
  24. foreach($permisos as $valor){
  25. if($valor == $user_info['groups'][0]){
  26. return true; // Tiene permisos
  27. }
  28. }
  29. return false; // No tiene permisos
  30. }elseif($tipo == 'topic'){
  31. if($request = @db_query("
  32. SELECT ID_BOARD
  33. FROM {$db_prefix}topics
  34. WHERE ID_TOPIC = {$id} LIMIT 1", __FILE__, __LINE__)){
  35. if($row = @mysql_fetch_assoc($request)){
  36. mysql_free_result($request);
  37. }
  38. }
  39. if(seo_verifica_permisos((int)$row['ID_BOARD'], 'board')){
  40. return true; // Tiene permisos
  41. }else{
  42. return false; // No tiene permisos
  43. }
  44. }else{
  45. return false; // No hay tipos para procesar
  46. }
  47. }

Entre muchisimos cambios para evitar una multitud de fallas que no habia contemplado pero por el camino fuí viendo y parchando al mismo tiempo, en algunos casos algunas funciones retornan y otros no ya que en algunos casos es necesario mostrar retornos válidos y en otros casos no, no hize un texto para describir todos los cambios o hubiese quedado mas grande que el mismo script.

Este parche parcha todas las fallas antes mencionadas y mas.
Si alguien utiliza este mod modificado por mano propia tendrá que volver a crear esos cambios.
Este parche consta de 3 archivos solamente:
  • Themes/{$THEME}/Seo4SMFAdmin.template.php
  • Sources/Seo4SMFAdmin.php
  • seo4smf-redirect.php

    Los archivos a reemplazar están acá, en la primera linea de cada archivo está la localización.

    Dudas, sugerencias, propuesas, reclamos, demandas?¿?¿?
    Si quieres ver específicamente los cambios puedes utilizar el comando diff en linux o busquen el programa windiff de windows.
« Última modificación: 16 Enero 2009, 05:52 am por WHK » En línea

aristides_03

Desconectado Desconectado

Mensajes: 32



Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #21 en: 16 Enero 2009, 07:51 am »

hey felicidades  y que bueno que compartas el parche ya que el seo es una gran utilidad en los foros de smf y esperamos que salga tambien para la versión 2..smf  en que falta mucho seria un agrado

y bueno si necesitan ayuda  estoy dispuesto en ayudar y asi aprendemos todo que ese es el objetivo de la vida ;D
En línea

sirdarckcat
Aspirante a supervillano
Moderador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #22 en: 16 Enero 2009, 22:02 pm »

WHK, si sabes que se puede hacer todo ese codigo de permisos en una query a SQL? consumes menos recursos.. ve el parche que puse en el foro de lo de privado-privado

Saludos!!
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #23 en: 16 Enero 2009, 22:16 pm »

WHK, si sabes que se puede hacer todo ese codigo de permisos en una query a SQL? consumes menos recursos.. ve el parche que puse en el foro de lo de privado-privado

Saludos!!

eso me dijo cuando lo descubrió xD

"sdc hace modificando un par de lineas lo que yo haría creando una funcion para verificar permisos..."

@sdc: y los parches aplicados anteriormente? están el foro privado-privado? sería bueno que los incluyan todos :P
En línea

Ojo por ojo, y el mundo acabará ciego.
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #24 en: 17 Enero 2009, 02:37 am »

Citar
WHK, si sabes que se puede hacer todo ese codigo de permisos en una query a SQL? consumes menos recursos.. ve el parche que puse en el foro de lo de privado-privado

Si me acordé y eso fue lo primero que hize en el parche pero después me arrepentí porque el tuyo solo indica si el foro es público entonces se muestra y si es privado no se muestra pero.. que pasa si yo tengo permisos para ver foros privados y accedo? se verá privado/privado y la idea en esa función que hice fue que cada usuario pueda ver los temas que le permiten ver, si tu puedes ver solo 2 foros privados de 3 en total solo podrás ver esos dos, esa es la idea.. ajustarse un poco a las reglas de smf ahora que alex lo quiera así para evitar el copy paste de links es otra cosa  :P
En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #25 en: 17 Enero 2009, 22:50 pm »

 ;D ;D thanks
En línea

sirdarckcat
Aspirante a supervillano
Moderador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #26 en: 18 Enero 2009, 07:37 am »

mmmm fuera de que eso tambien se hace en una sola linea, no estoy de acuerdo en que se muestren topics no-publicos... independientemente de su tienes permiso o no de ver el foro, solo se deberian de redirigir temas que son publicos, por el simple motivo de que si no se hace asi, que tal que alguien con privilegios, manda un MP con un enlace a un tema privado... seo4smf va a cambiar la URL por la del tema en privado..
En línea

mer77

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #27 en: 23 Marzo 2009, 19:54 pm »

Hola, muchisimas gracias por compartir el patch y pido disculpas por revivir este tema.

Mi pregunta es muy sencilla, en algunos foros smf luego de aplicar el patch se encuentran errores como estos:

Citar
Notice: Undefined index: t in /home/exkanka/public_html/seo4smf-redirect.php on line 7

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 7

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 7

Notice: Undefined index: b in /home/exkanka/public_html/seo4smf-redirect.php on line 8

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 8

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 8

Notice: Undefined index: o in /home/exkanka/public_html/seo4smf-redirect.php on line 9

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 9

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 9

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 10

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 10

Notice: Undefined index: p in /home/exkanka/public_html/seo4smf-redirect.php on line 11

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 11

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 11

Notice: Undefined index: a in /home/exkanka/public_html/seo4smf-redirect.php on line 12

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 12

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 12

Notice: Undefined index: param in /home/exkanka/public_html/seo4smf-redirect.php on line 13

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'exkanka'@'localhost' (using password: NO) in /home/exkanka/public_html/seo4smf-redirect.php on line 13

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in /home/exkanka/public_html/seo4smf-redirect.php on line 13

Justamente las lineas de la 7 a la 13 corresponden a estas lineas de codigo:

Citar
        $topic = mysql_real_escape_string($_GET['t']);
        $board = mysql_real_escape_string($_GET['b']);
        $other = mysql_real_escape_string($_GET['o']);
        $user =  mysql_real_escape_string($_GET['u']);
        $tpage = mysql_real_escape_string($_GET['p']);
        $action = mysql_real_escape_string($_GET['a']);
        $param = mysql_real_escape_string($_GET['param']);

Dichos errores quedan registrados en el error_log del smf tambien.

Que significa ese problema, tiene alguna solucion? representa algun peligro?

saludos y gracias mer77.
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #28 en: 23 Marzo 2009, 20:02 pm »

Pues es muy raro que te salga, este toma los datos de conexión desde el SMF, no deberia te dener problemas para conectarse a la base de datos.

Saludos
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Falla en el mod Seo4SMF para SMF
« Respuesta #29 en: 24 Marzo 2009, 03:36 am »

Citar
Access denied for user 'exkanka'@'localhost'
Ese error es porque la conexión hacia la base de datos no ha sido realizada, revisa tu servidor o tus datos de conexión.
En línea

Páginas: 1 2 [3] 4 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines