Foros del Web » Programando para Internet » PHP »

Ayuda en Tagboard

Estas en el tema de Ayuda en Tagboard en el foro de PHP en Foros del Web. Buena, hace poco que tengo un bot invadiendo el mensajeitor de mi web... Poniendo spam a cada rato... No quiero bloquear palabras ya que complicaria ...
  #1 (permalink)  
Antiguo 21/07/2010, 20:28
 
Fecha de Ingreso: julio-2008
Mensajes: 43
Antigüedad: 16 años, 4 meses
Puntos: 0
Ayuda en Tagboard

Buena, hace poco que tengo un bot invadiendo el mensajeitor de mi web...
Poniendo spam a cada rato...
No quiero bloquear palabras ya que complicaria mucho, y siempre pega cosas distintas...

Queria ver si me ayudan a colocar un captcha de sumatoria, o algo sencillo como una pregunta para validar que el usuario sea humano...

Este sitio lo arme para mi hermano y la barra de su equipo... no lo uso... pero el spam le corta el tagboard que es muy usado...

http://los-pumas.site50.net/mensajeitor/mensajeitor.php Aqui el mensajeitor.

No soy todo un genio de codigos, mi conocimiento es bastante basico... me podrian ayudar dandome el codigo armado o con instrucciones para tonto XDD

Saludos y muchas gracias de antemano
  #2 (permalink)  
Antiguo 21/07/2010, 21:33
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Ayuda en Tagboard

Saludos
bueno pues podrías buscar tutoriales de captcha por la web, allí ya vienen
listos para el uso y te indican el paso a paso
suerte
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 21/07/2010, 21:45
 
Fecha de Ingreso: julio-2008
Mensajes: 43
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda en Tagboard

http://boozox.net/php/sencillo-siste...con-preguntas/

Probe ese pero no me andubo... :/
  #4 (permalink)  
Antiguo 21/07/2010, 21:59
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Ayuda en Tagboard

hola
bajaste el ejemplo de la página o copiaste el código?
si copiaste el código, pusiste el tag <?php al inicio de cada documento
y cerraste con ?> al final ?
pregunto esto porque veo que en el tutorial no se molestaron
en ponerlo, sin pensar en que no todo el mundo que llegue a esa página
tiene total conocimiento de php

con eso debería funcionarte, te arroja algún error? o no ejecuta nada?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 21/07/2010, 22:51
 
Fecha de Ingreso: julio-2008
Mensajes: 43
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda en Tagboard

Ahí esta (Se ve) pero alparecer esta independiente, y no es parte de los otros campos...

Es decir no esta bien conectado.

Código PHP:
Ver original
  1. ...
  2.  
  3.                 </div><?php
  4.  
  5.             }
  6.  
  7.             ?><div id="msgContainer"><?php
  8.  
  9.             $msj->PrintMessages($messages);
  10.  
  11.             ?></div>
  12.  
  13.       </div>
  14.  
  15.     </td>
  16.  
  17.   </tr>
  18.  
  19.   <tr>
  20.  
  21.     <td align="right" valign="middle">
  22.  
  23.       <form name="form1" method="post" action="mensajeitor.php">
  24.         <table border="0" cellspacing="0" cellpadding="0">
  25.  
  26.           <tr>
  27.  
  28.             <td>  
  29.  
  30.                 <table border="0" cellspacing="0" cellpadding="0">
  31.  
  32.                     <tr valign="middle">
  33.  
  34.                         <td valign="middle">
  35.  
  36.                             <input type="text" id="nick" name="nick" size="20" value="<?php echo htmlspecialchars($params['nick']); ?>" class="formInput" onFocus="focus_hndl(this,'<?php echo addslashes($params['nick']); ?>');" onBlur="blur_hndl(this,'<?php echo addslashes($params['nick']); ?>');" maxlength="<?php echo $msj->cfg['Nick']['MaxChars']; ?>" /><?php if($msj->cfg['Msgs']['Smileys']) { ?><?php } ?></td>
  37.                     </tr>
  38.  
  39.                     <tr valign="middle">
  40.  
  41.                        
  42.  
  43.                   <td align="left" valign="middle"><p>
  44.                     <textarea name="message" cols="21" rows="5" class="formInput" id="message" onFocus="focus_hndl(this,'<?php echo addslashes($params['message']); ?>');" onBlur="blur_hndl(this,'<?php echo addslashes($params['message']); ?>');"><?php echo htmlspecialchars($params['message']); ?></textarea>
  45.                     <br /><input type="text" name="url" size="21" value="http://" class="formInput" onFocus="focus_hndl(this,'http://');" onBlur="blur_hndl(this,'No link');" /><br/>
  46.                     [B]<?php
  47.  
  48. if($_SESSION['pregregex'] AND $_GET['respuesta'])
  49. {
  50.     if(eregi($_SESSION['pregregex'],$_GET['respuesta']))
  51.     echo "De acuerdo, no eres un robot...";
  52.     else
  53.     echo "Solo Bender puede superarte a robot !";
  54.     unset($_SESSION['pregregex']);
  55.     echo "<a href=\"anti-bot.php\">Vuelve a probarlo</a>";
  56. }
  57. else
  58. {
  59.     $preguntas = array();
  60.     $preguntas[] = array('Cuantos dedos tiene una mano?','(5|cinco)');
  61.     $preguntas[] = array('Resultado de sumar 2 y 4?','(6|seis)');
  62.     $preguntas[] = array('Cuantas ruedas tiene un coche?','(4|cuatro)');
  63.     $preguntas[] = array('Que animal es mas grande: elefante o caracol?','(primero|elefante)');
  64.     $preguntas[] = array('Cual es el color mas oscuro de todos?','negro');
  65.     $preguntas[] = array('Por favor, contesta: eres humano?','(si|claro)');
  66.     $preguntas[] = array('Con que mano escribe un zurdo?','(izquierda)');
  67.     $preguntas[] = array('Escribe pan dos veces.','^pan ?pan$');
  68.  
  69.     $pregn = rand(0,count($preguntas));
  70.     $_SESSION['pregregex'] = $preguntas[$pregn][1];
  71.     echo '<form method ="POST" action=""></p>'.$preguntas[$pregn][0].'</p><br><input type="text" class="formInput" name="respuesta"></form>';
  72. }
  73. ;
  74. ?>[/B]<br/>
  75.                     <br/><br/>
  76.                   </p></td>
  77.                   </tr>
  78.  
  79.                     <tr>
  80.  
  81.                       <td align="right"><input type="text" id="pass" name="pass" value="Password" disabled="disabled" class="formInput" onFocus="focus_hndl(this,'');" />
  82.                       <input type="submit" value="Enviar" /></td>
  83.  
  84.                     </tr>
  85.               </table>
  86.  
  87.            
  88.  
  89.             </td>
  90.  
  91.           </tr>
  92.  
  93.         </table>
  94.  
  95.         <input type="hidden" name="adminnicks" id="adminnicks" value="<?php
  96.  
  97.             $output = array();
  98.  
  99.             foreach($msj->cfg['Nick']['Admins'] as $key => $value) {
  100.  
  101.                 $output[] = $key;
  102.  
  103.             }
  104.  
  105.             echo implode(',',$output);
  106.  
  107.          ?>" />
  108.  
  109.       </form>
  110.  
  111.     </td>
  112.     <td align="center" valign="top"><img src="http://www.forosdelweb.com/f18/images/pumaboard.gif" /></td>
  113.  
  114.   </tr>
  115.  
  116.   <?php if($msj->cfg['Main']['ShowVersion'] || $msj->cfg['Main']['ShowLink']) { ?>
  117.  
  118.   <tr>
  119.  
  120.     <td colspan="2" class="info"><?php if($msj->cfg['Main']['ShowLink']) { ?>
  121.  
  122.     <div>MENSAJEITOR</div>
  123.  
  124.     <?php } ?>
  125.  
  126.     <?php if($msj->cfg['Main']['ShowVersion']) { ?>
  127.  
  128.     <div>1.0</div><?php } ?></td>
  129.  
  130.   </tr>
  131.  
  132.   <?php } ?>
  133.  
  134. </table>
  135.  
  136. </body>
  137.  
  138. </html>

Saludos y gracias.

Última edición por Seba_sxe; 21/07/2010 a las 23:25
  #6 (permalink)  
Antiguo 22/07/2010, 14:16
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Ayuda en Tagboard

Hola
bueno, en efecto ya se ve, ahora como bien dices, es que esta independiente
del mensajeitor, veo en el fragmento de código que pusiste que estas usando
$msj, imagino esto es una instancia de una clase tal vez?? o contiene
funciones
de algún tipo? bueno, el caso es que como al parecer con esta variable se
esta
manejando el resto de los campos de mensajeitor, lo que tienes que hacer es
una fuuuusiiióonnn entre el $msj y lo que ya incluiste del antispam pues
actualmente
si tratas de enviar algo vacío, te dice que falta el nick y el mensaje, pero
no advierte
nada sobre el captcha por ejemplo, pero vas por buen camino

así que armate de paciencia y adelante con eso
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 30/07/2010, 23:01
 
Fecha de Ingreso: julio-2008
Mensajes: 43
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda en Tagboard

Probe instalando otro tagboard (Esta vez minichat) con supuesto anti-spam, no funciono....

Ya no se que hacer :/
  #8 (permalink)  
Antiguo 30/07/2010, 23:55
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 16 años, 6 meses
Puntos: 12
Respuesta: Ayuda en Tagboard

Usa:
http://www.google.com/recaptcha

Su documentacion para PHP:

http://code.google.com/apis/recaptcha/docs/php.html
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #9 (permalink)  
Antiguo 17/08/2010, 19:05
 
Fecha de Ingreso: julio-2008
Mensajes: 43
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Ayuda en Tagboard

No quiero un captcha de ese estilo (por lo incomodo que es para un tagboard), intente personalizar un codigo que genere preguntas simples de matematica pero no me funciono...

saludos
  #10 (permalink)  
Antiguo 17/08/2010, 19:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 15 años, 2 meses
Puntos: 19
Respuesta: Ayuda en Tagboard

Se me ocurre que puedes hacer dos rands del 1 al 9, cada uno en una variable, crear una tercera variable que los sume, y luego comprobar con un if si la suma de ambos es igual a lo que el usuario escribe, sería algo así.

Código PHP:
Ver original
  1. $uno = rand(1,9);
  2. $dos = rand(1,9);
  3. $tres = $uno + $dos;
  4. if($tres == $_POST['suma']) {
  5. echo...

Y ya lo sigues, si te interesa así no copies esto, que lo hice rápido y no comprobé que estuviera bien escrito.

Etiquetas: Ninguno
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:09.