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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Sugerencias y dudas sobre el Foro (Moderador: el-brujo)
| | |-+  Con quién reportar "error" del foro?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 [3] Ir Abajo Respuesta Imprimir
Autor Tema: Con quién reportar "error" del foro?  (Leído 15,528 veces)
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #20 en: 31 Julio 2013, 01:18 am »

Hay versiones y versiones de Tapatalk, yo uso la 2, la 4 / HD no me gusta  :-\


En línea

#!drvy


Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #21 en: 31 Julio 2013, 04:04 am »

Si alguien sabe arreglarlo le daré una golosina  ;-)



en Sources/Subs-Boards.php aproximadamente en la linea 233 y despues de:
Código
  1. elseif (isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'unreadreplies')
  2. {

Añadir:
Código
  1. if($_REQUEST['topics']==='all'&&!empty($_SESSION['smf_topics_to_mark'])){$topics=$_SESSION['smf_topics_to_mark'];}
  2. else {$topics=$_REQUEST['topics'];}


Luego en Themes/ (todos los que contengan) Recent.template.php despues de:
Código
  1. if (isset($context['topics_to_mark']) && !empty($settings['show_mark_read']))

Añadir:
Código
  1. @session_start(); $_SESSION['smf_topics_to_mark']=$context['topics_to_mark'];

Y reemplazar cualquier $context['topics_to_mark']; por all menos el de la linea que se acaba de añadir.

Saludos


En línea

jdc


Desconectado Desconectado

Mensajes: 3.406


Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #22 en: 31 Julio 2013, 04:16 am »

Mmm, puede ser xD oye si hago un diseño elástico existe la posibilidad de que se agregue? Podríamos usar Foundation, sería un tema normal con versión mobil, nada intrusivo.
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #23 en: 17 Marzo 2014, 13:28 pm »

Ehhhhhh.... aun tengo casi 57543758756 páginas de post sin leer y quiero marcarlos como leidos, gracias.

En línea

el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 21.585


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #24 en: 19 Marzo 2014, 19:43 pm »

Acabo de poner el parche de #!drvy, a ver si se soluciona.
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #25 en: 21 Marzo 2014, 13:13 pm »

Nop no funciona, me sigue saliendo el 403

No creo que sea el apache porque mi request no sobrepasa los 420 carácteres incluyendo el dominio y el protocolo, se supone que el valor por defecto permitido de apache es de 8190:

http://httpd.apache.org/docs/2.2/mod/core.html#limitrequestline

Citar
LimitRequestLine Directive
Description:   Limit the size of the HTTP request line that will be accepted from the client
Syntax:   LimitRequestLine bytes
Default:   LimitRequestLine 8190
Context:   server config, virtual host
Status:   Core
Module:   core

This directive sets the number of bytes that will be allowed on the HTTP request-line.

The LimitRequestLine directive allows the server administrator to set the limit on the allowed size of a client's HTTP request-line. Since the request-line consists of the HTTP method, URI, and protocol version, the LimitRequestLine directive places a restriction on the length of a request-URI allowed for a request on the server. A server needs this value to be large enough to hold any of its resource names, including any information that might be passed in the query part of a GET request.

This directive gives the server administrator greater control over abnormal client request behavior, which may be useful for avoiding some forms of denial-of-service attacks.

For example:

LimitRequestLine 4094
Under normal conditions, the value should not be changed from the default. Also, you can't set this higher than 8190 without modifying the source and rebuilding.
Warning

When name-based virtual hosting is used, the value for this directive is taken from the default (first-listed) virtual host for the NameVirtualHost the connection was mapped to.

Yo pienso que debe ser alguna regla de algún mod, podrías replicar el servidor del foro en una imagen en tu pc para que pruebes deshabilitando todos los mods extras que no vienen por defecto y verás como se soluciona.

Has revisado el .htaccess por si las dudas?
« Última modificación: 21 Marzo 2014, 13:25 pm por WHK » En línea

#!drvy


Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #26 en: 21 Marzo 2014, 13:17 pm »

De todos modos el parche no parece estar bien aplicado. En teoría debería sustituir

Código:
https://foro.elhacker.net/markasread.html;sa=unreadreplies;topics=123-456-789-123-456-789;sesc=xxxxxx

por

Código:
https://foro.elhacker.net/markasread.html;sa=unreadreplies;topics=all;sesc=xxxxxx

PD: Y accediendo a la url tal cual tampoco funciona por lo cual me da a pensar que el fix entero no funciona xD

Saludos
« Última modificación: 21 Marzo 2014, 13:40 pm por #!drvy » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #27 en: 21 Marzo 2014, 13:25 pm »

Acabo de ver que ese no era el problema xD ya me di cuenta que la petición de un "archivo" con un nombre muy largo falla y por lo que estuve leyendo este error se viene desde el 2008 hasta hoy:
https://issues.apache.org/bugzilla/show_bug.cgi?id=45187

Al parecer lo que habría que hacer en ese caso es reemplazar el enlace dle botón "marcar leidos" para que se ejecute sin permalinks y modificar el mod de seo para prevenir que redireccione al permalink cuando venga desde ese botón.

Porqué a SMF se le ocurrió poner puntos y comas como separadores? eso está generando muchos problemas con los estandares.
En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #28 en: 4 Julio 2014, 18:16 pm »

Bueno, depsués de ver que aun no hay solución me di unos 15 minutos para crear un pequeño script que automatiza el marcar como leido a todo xD

Que hay que hacer?:

1. Tener Firefox
2. Instalar el complemento GreasyMonkey ( https://addons.mozilla.org/es/firefox/addon/greasemonkey/ )
3. Crear un nuevo user-script
4. Pegar mi código:

Código
  1. // ==UserScript==
  2. // @name        Elhacker.net - Mark all as read
  3. // @namespace   elh-maar
  4. // @description Habilita el botón para marcar todos los temas como leidos en la sección de temas no leidos.
  5. // @include     http://foro.elhacker.net/unreadreplies.html
  6. // @require     http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
  7. // @version     1
  8. // @grant       none
  9. // ==/UserScript==
  10.  
  11. $(document).ready(function(){
  12.  
  13.    /* Existe el botón para marcar como leidos? */
  14.    if($('img[alt="Marcar TODOS los mensajes como leídos"]').length){
  15.  
  16.        /* Establece el evento del botón */
  17.        $('img[alt="Marcar TODOS los mensajes como leídos"]')
  18.           .closest('a')
  19.           .click(function(evento){
  20.  
  21.               /* Previene la redirección con problemas */
  22.               evento.preventDefault();
  23.  
  24.               try{
  25.                   /* Crea la ventana de informaciones */
  26.                   $('<div />')
  27.                      .css({
  28.                          position          : 'fixed',
  29.                          width             : '400px',
  30.                          height            : '59px',
  31.                          top               : '50%',
  32.                          left              : '50%',
  33.                          marginLeft        : '-200px',
  34.                          marginTop         : '-50px',
  35.                          backgroundColor   : '#FFFFFF',
  36.                          color             : '#333333',
  37.                          fontFamily        : 'Arial',
  38.                          fontSize          : '17px',
  39.                          border            : '1px solid #666666',
  40.                          borderRadius      : '5px',
  41.                          boxShadow         : '9px 12px 10px -10px #000000',
  42.                          textAlign         : 'center',
  43.                          paddingTop        : '41px'
  44.                      })
  45.                      .addClass('ehn_maar_mensaje')
  46.                      .text('Preparando ...')
  47.                      .appendTo($('body'));
  48.  
  49.                   /* Parsea los datos convirtiendolos en objetos */
  50.                   data = {
  51.                       'accionUrl' : $(this).attr('href').split('topics=')[0] + 'topics=',
  52.                       'sesc'      : ';sesc=' + $(this).attr('href').split(';sesc=')[1],
  53.                       'ids'       : $(this).attr('href').split('-'),
  54.                       'totalIds'  : 0
  55.                   };
  56.  
  57.                   /* Limpia los ids */
  58.                   if(data.ids){
  59.                      for(_llave in data.ids){
  60.  
  61.                          /* Remueve la basura del costado izquierdo del id */
  62.                          if(data.ids[_llave].indexOf('=') > -1)
  63.                              data.ids[_llave] = data.ids[_llave].split('=')[1];
  64.  
  65.                          /* Remueve la basura del costado derecho del id */
  66.                          if(data.ids[_llave].indexOf(';') > -1)
  67.                              data.ids[_llave] = data.ids[_llave].split(';')[1];
  68.                      }
  69.  
  70.                       data.totalIds = data.ids.length;
  71.  
  72.                       /* Envía los ids al servidor de 5 en 5 */
  73.                       for(var loop1 = 1; loop1 <= data.totalIds; loop1 = loop1 + 5){
  74.  
  75.                           /* Hay ids? */
  76.                           if(data.ids.length){
  77.  
  78.                               /* candidatos de ids a enviar */
  79.                               idsEnviar = new Array();
  80.  
  81.                               for(var loop2 = 1; loop2 <= 5; loop2++)
  82.  
  83.                                   /* Aun hay ids? */
  84.                                   if(data.ids.length)
  85.  
  86.                                       /* Completa el stack */
  87.                                       idsEnviar.push(data.ids.pop());
  88.  
  89.                                   else /* No hay mas ids */
  90.                                       break;
  91.  
  92.                               /* Hay ids candidatos a enviar? */
  93.                               if(idsEnviar.length){
  94.  
  95.                                   $('.ehn_maar_mensaje').text('Marcando del ' + loop1 + ' al ' + (loop1 + (idsEnviar.length - 1)) + ', de ' + data.totalIds + ' ...');
  96.  
  97.                                  /* Envía la solicitud al servidor */
  98.                                  $.ajax({
  99.                                       url      : data.accionUrl + idsEnviar.join('-') + data.sesc,
  100.                                       type : 'get',
  101.                                       cache : false,
  102.                                       async    : false
  103.                                   });
  104.                               }
  105.  
  106.                           }else{
  107.                               /* No hay mas ids */
  108.                               break;
  109.                           }
  110.                       }
  111.  
  112.                       $('.ehn_maar_mensaje').text('Finalizado! Redireccionando ...');
  113.                       document.location.reload();
  114.  
  115.                   }else{
  116.                       /* No hay ids */
  117.                       alert('No hay mensajes para marcar como leido');
  118.                   }
  119.  
  120.               }catch(e){
  121.                   /* Problema con el código? */
  122.                   alert('Error: ' + e.message);
  123.               }
  124.           });
  125.    }
  126. });

Después cierran todas las ventanas del greasymonkey y lo dejan activado.

Ahora cada ves que entren a la sección de temas no leidos ( http://foro.elhacker.net/unreadreplies.html ) y le den click al botón de marcar como leidos a todos aparecerá un recuadro que dice "marcando x de 45 ..." y lo que hace es lo siguiente:

Como el problema del servidor es procesar las urls largas tomé todos los ids que van por url y los agrupé y hago que se envíen de 5 en 5 y listo :D , cuando termina dice "Redireccionando ..." y verás que tus temas no leidos desaparecieron:





Saludos.
« Última modificación: 4 Julio 2014, 21:09 pm por WHK » En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Con quién reportar "error" del foro?
« Respuesta #29 en: 4 Julio 2014, 22:16 pm »

Barbaro WHK, el otro dia tarde algo de tiempo marcando todo como leído, después de tener algunos años sin ver lo que hay en el foro ufff
En línea

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

Ir a:  

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