Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
Muerte

[FIX] Publicar shouts en blanco

Recommended Posts

Lo mejor sería utilizar trim() y después comprobar que la variable no está vacía, con tu código todavía hay muchas formas de publicar un shout "vacío".

 

Ejemplo:

// variable que contiene espacios, saltos de líneas y tabuladores \n \r \t
$shout = '
	
	

';

$shout = trim($data);

El resultado sería:

$shout = '';

Para comprobar:

if($shout) {
	echo 'El shout no está vacío.';
}else {
	echo 'El shout está vacío.';
}
  • Me gusta 1

Compartir este post


Enlace al post
Compartir en otros sitios
hace 58 minutos, Rhuan dijo:

 

 

perfecto corregido y adaptado igual se busca:

$data = $tsCore->setSecure($_POST['data'], true);

 

y en lugar de eso colocan esto:

 

  

		$a = trim($_POST['data']);
		if($a) {
			$data = $tsCore->setSecure($a, true);
		}else {
			return '0: El shout debe tener al menos una letra.';
		}

y quitamos esta linea que tiene de forma nativa el script:

 

$text = str_replace(array("\n","\t",' '),"",$data);

 

Editado por Muerte
  • Me gusta 1
  • Downvote 1

Compartir este post


Enlace al post
Compartir en otros sitios
hace 1 hora, Rhuan dijo:

Lo mejor sería utilizar trim() y después comprobar que la variable no está vacía, con tu código todavía hay muchas formas de publicar un shout "vacío".

 

Ejemplo:

// variable que contiene espacios, saltos de líneas y tabuladores \n \r \t
$shout = '
	
	

';

$shout = trim($data);

El resultado sería:

$shout = '';

Para comprobar:

if($shout) {
	echo 'El shout no está vacío.';
}else {
	echo 'El shout está vacío.';
}

pero igual sigue fallando si los pones escritos

  • Downvote 1

Compartir este post


Enlace al post
Compartir en otros sitios
hace 3 horas, Muerte dijo:

sirve, pero te lo puedes saltar si lo colocas de forma manual

vuelve a perdonarme, encerio, pero aun no me quedo claro? sirve pero tiene un pequeño bug? tiene muchas actualizaciones el fix, no estaria mejor crear un nuevo post con la version final del fix y explicando si tiene una vulnerabilidad aun? porque no me quedo que es lo que se puede saltar de forma manual.

  • Me gusta 1

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario


  • Similar Content

    • Por Miguel92
      Ir a templates/modules/m.agregar_sidebar.tpl y borrar (solo si realizan la actualización de los videos tutoriales)
      <script type="text/javascript" src="{$tsConfig.default}/js/jquery.form.js"></script> En templates/sections/main_header.tpl y reemplazamos
      <link href="{$tsConfig.css}/{$tsPage}.css" rel="stylesheet" type="text/css" /> por esto
      {if $tsPage != 'home' && $tsPage != 'posts' && $tsPage == 'portal' || $tsPage == 'admin' || $tsPage == 'moderacion' || $tsPage == 'fotos'} <link href="{$tsConfig.css}/{$tsPage}.css" rel="stylesheet" type="text/css" /> {/if} || $tsPage == 'página' => esto se agrega en el caso que la página tenga hoja de estilo
      && $tsPage != 'página' => esto se agrega en el caso que la página no tenga hoja de estilo

      Para el archivo que estaba(m.posts_content.tpl) pueden usar directamente Plugin: JS-Social compartir posts "Redes Sociales"
       
      Y ahora en default/js/acciones.js en la línea 1229 borramos esto (no es obligatorio hacerlo, si es necesario si usan bootstrap 4)
          $('.autogrow').css('max-height', '500px').autogrow(); Y ahora en default/js/jquery.plugins.js en la línea 43, 44 las borramos
       
      Ahora vamos a inc/class/c.core.php y debajo de (cualquier versión de phpost risus)
              $this->settings['js'] = $this->settings['tema']['t_url'].'/js';
      y agregamos esto
              $this->settings['smiles'] = $this->settings['tema']['t_url'].'/images/smiles';  
      Ahora buscamos en inc/ext/bbcode.inc.php y buscamos (cualquier versión de phpost risus)
              $pre = '<img src="'.$tsCore->settings['default'].'/images/smiles/';
      y la reemplazamos por
              $pre = '<img src="'.$tsCore->settings['smiles'].'/';  
    • Por Miguel92
      Si por alguna razón llegaran a tener un problema con la primera línea, esta al final del archivo perfil.js línea 578
      $('textarea[name=add_wall_comment]').on("keypress",function(k){         if(k.which == 13){             var pub_id = $(this).attr('pid');             muro.comentar(pub_id);             return false;         }     });     // ADJUNTAR     $('.adj').click(function(){         var aid = $(this).attr('aid');     })     // RESPUESTAS     $('.comentar').css('max-height', '200px').autogrow().css('height','14px');     //     $('input[name=hack]').on("focus",function(){         $(this).hide();         $(this).parent().find('div.formulario').show();         var pub_id = $(this).attr('pid');         //         $('#cf_' + pub_id).focus()     })  });   lo reemplazan por este!!
       $("textarea[name=add_wall_comment]").on("keypress",function(a){         if(13==a.which){             var t=$(this).attr("pid");             return muro.comentar(t),!1         }     });     $(".adj").click(function(){         $(this).attr("aid")     });     $(".comentar").css("max-height","200px").autogrow().css("height","14px");     $("input[name=hack]").on("focus",function(){         $(this).hide(),$(this).parent().find("div.formulario").show();         var a=$(this).attr("pid");         $("#cf_"+a).focus();     }); });  
    • Por Miguel92
      Problemas al comentar y/o enviar mensaje 
      después de haber agregado el wysibb
       
      Si actualizaste y te has topado con este problema, bueno te traigo la solución.
       
      [1] SOLUCIONADO: No puedo comentar
      Ir a default/js/funciones.js y buscan
          // NUEVO COMENTARIO     nuevo: function(mostrar_resp, comentarionum){         // EVITAR FLOOD         $('#btnsComment').attr({'disabled':'disabled'});         //         var textarea = $('#body_comm');         var text = textarea.val(); y en la parte que dice .val(); lo cambian por .bbcode();
              var text = textarea.bbcode();  
      [2] SOLUCIONADO: No puedo previsualizar el comentario
      Ir a default/js/funciones.js y buscan
      // VISTA PREVIA DEL COMENTARIO     preview: function(id, type){         var textarea = (type == 'new') ? $('#' + id) : $('#edit-comment-' + id);         var text = textarea.val(); lo mismo que el paso anterior
              var text = textarea.bbcode(); 16/05/2018
      Con la nueva actualización del script phpost_1.3.0.000 tiene este problema, que lo acepto que me equivoque, en el momento que lo estaba haciendo me había funcionado de la manera que esta publicado..luego tuve el error de no poder editar el comentario y la solución fue revertir este paso y de esa manera edita y previsualiza
       
       
      SOLUCIONADO: No puedo previsualizar el mensaje
      Ir a default/js/funciones.js y buscan
          // VISTA PREVIA DEL MENSAJE     previewms: function(id, type){         var textarea = (type == 'new') ? $('#' + id) : $('#edit-comment-' + id);         var text = textarea.val(); lo mismo que el paso anterior
              var text = textarea.bbcode();  
      [3] SOLUCIONADO: No puedo enviar mensaje desde "Mensajes"
      Ir a default/js/acciones.js y buscan
          // RESPONDER     responder: function(mp_id){         this.vars['mp_id'] = $('#mp_id').val();         this.vars['mp_body'] = encodeURIComponent($('#respuesta').val()); // Fix: 14/12/2014 - 1.1.000.9 lo mismo que el paso anterior  .val(); lo cambian por .bbcode();
              this.vars['mp_body'] = encodeURIComponent($('#respuesta').bbcode()); // Fix: 14/12/2014 - 1.1.000.9  
      En el caso de encontrar más lo ire colocando!
  • Navegando Recientemente   0 miembros

    No registered users viewing this page.

  • Patrocinador



  • ×