Foros del Web » Programando para Internet » PHP »

Spam en libro de visitas

Estas en el tema de Spam en libro de visitas en el foro de PHP en Foros del Web. Hola, tengo un problema con mi libro de visitas, continuamente me estan llegando mensajes de spam, tengo instalado el Advanced Guestbook 2.4.1 y no se ...
  #1 (permalink)  
Antiguo 20/01/2007, 16:06
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Spam en libro de visitas

Hola, tengo un problema con mi libro de visitas, continuamente me estan llegando mensajes de spam, tengo instalado el Advanced Guestbook 2.4.1 y no se como frenar esto.
Se me ocurren 2 alternativas pero quiza ustedes conozcan mejores:
1º poner esas claves de imagenes que contienen letras
2º Hacer algun codigo que cuando contengan http:// sea bloqueado

Que me recomiendan? (agradezco toda la ayuda que puedan darme, ya que no manejo muy bien php) Saludos ;)
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #2 (permalink)  
Antiguo 20/01/2007, 16:20
 
Fecha de Ingreso: mayo-2003
Ubicación: Cuernavaca, Mor.
Mensajes: 117
Antigüedad: 21 años
Puntos: 2
Re: Spam en libro de visitas

Bueno a riesgo de sonar como spam te recomiendo mi aplicacion... pero decide tu mismo ... ah tambien puedes ver el demo:
www.gbookmx.org
saludos.
  #3 (permalink)  
Antiguo 20/01/2007, 16:26
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Re: Spam en libro de visitas

Gracias por responder, ya me descargue tu aplicasion y vi una demo que parece bastante buena... lo que no me queda claro es que herramientas tiene para prevenir los mensajes de spam

PD: Que quisiste decir con
Cita:
Iniciado por vic_mx Ver Mensaje
Bueno a riesgo de sonar como spam
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #4 (permalink)  
Antiguo 20/01/2007, 16:31
 
Fecha de Ingreso: mayo-2003
Ubicación: Cuernavaca, Mor.
Mensajes: 117
Antigüedad: 21 años
Puntos: 2
Re: Spam en libro de visitas

Bueno por darte la direccion de mi aplicacion je nada en particular, y bueno respondiendo al tema, hago uso de una imagen (captcha) ademas de eso junto varios usuarios que tienen alojada esta aplicacion se creo un "Bot trap" o trampa para bots, que hemos probado durante meses y ha dado bueno resultados evitando su forma de atacar y asi lo prevenimos, igual no soy muy claro ahora pero tengo rescaa, saludos :D
  #5 (permalink)  
Antiguo 20/01/2007, 17:13
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Re: Spam en libro de visitas

Hola Vic Mx, estuve viendo los templates de mi libro de visitas y tengo un template de captcha.php:

<table border="0" cellspacing="2"><tr>
<td><img src="$GB_PG[base_url]/image.php?id=$VARS[gbtoken]" border="0"></td>
<td><input type="text" name="gb_captcha" size="15"></td>
</tr></table>


pero no se como activarlo para que se muestre en el formulario de ingreso de mensajes
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #6 (permalink)  
Antiguo 20/01/2007, 18:54
 
Fecha de Ingreso: mayo-2003
Ubicación: Cuernavaca, Mor.
Mensajes: 117
Antigüedad: 21 años
Puntos: 2
Re: Spam en libro de visitas

Te seré sincero, no he visto como funciona este guest book, por otro lado pienso que si tiene la opcion de activar desactivar el codigo (captcha) puede ser de alguna parte de la administracion o la otra opcion que se me ocurre es que no tengas en tu servidor la libreria GD de PHP para la generacion de imagenes dinamicas, seria cuestion que revisaras tu server si lo tiene.
  #7 (permalink)  
Antiguo 21/01/2007, 13:15
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Re: Spam en libro de visitas

Hola Pablus00...
Antes que nada, deberias actualizar el Advanced Guestbook 2.4.1 a la version 2.4.2 ahí está mejorado lo del Captcha.
Saludos.-
  #8 (permalink)  
Antiguo 21/01/2007, 18:28
Avatar de Gurrutello  
Fecha de Ingreso: enero-2002
Ubicación: Ontario,Toronto [Canada]
Mensajes: 2.017
Antigüedad: 22 años, 3 meses
Puntos: 6
Re: Spam en libro de visitas

Muchos de estos mensajes "spam" suelen ser enviados por algun software.
Algo\que se me ocurrio hace tiempo era nombrar los campos de formularios de esta manera
Formulario:

<input name="<?=date('dm'); ?>texto" type="text" id="texto">
<br>
<textarea name="<?=date('dm'); ?>comentarios" id="comentarios"></textarea>
<input name="<?=date('dm'); ?>" type="text" id="texto">
.. la pagina del formulario debe de ser .php

y el script que lo recibe:
<? $texto = $_POST[date('dm').'texto'];
$comentarios = $_POST[date('dm').'comentarios'];
?>

Esta seria una forma muy sencilla de evitar que algun tipo de software inserte datos.
Ademas puedes poner otro campo por el estilo que muestre esta fecha como codigo o bien codificarlo con MD5()


Esta seria la forma mas sencilla sin tener que utilizar la famosa imagen.

Saludos
__________________
Un Saludo
www.tutores.org
Asp | Php | Javascript | Perl | Coldfusion | Flash | +- 2000 codigos
  #9 (permalink)  
Antiguo 29/01/2007, 12:36
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Re: Spam en libro de visitas

gracias por los comentarios, ya actualice el libro a la version nueva y para mi alegria, a los 10 minutos de subirlo online, ya tenia un mensaje de spam.

Pense que la solucion seria alguna funcion detecte determinado texto en el mensaje y si lo incluye, que no ingrese el mensaje. (algo asi como si incluye http:// en el mensaje que lo elimine) alguien me puede ayudar a configurarlo, este es el template del formulario de ingreso:


<style type="text/css">
body {
SCROLLBAR-FACE-COLOR: #666666; SCROLLBAR-HIGHLIGHT-COLOR: #999999; SCROLLBAR-SHADOW-COLOR: #123456; SCROLLBAR-ARROW-COLOR: #00FFFF; SCROLLBAR-TRACK-COLOR: #000000; scrollbar-3dlight-color:#000000; SCROLLBAR-DARKSHADOW-COLOR:#000000
}
</style>

<script language="JavaScript">
<!--
var flag=0;
function openCentered(theURL,winName,winWidth,winHeight,fea tures) {
var w = (screen.width - winWidth)/2;
var h = (screen.height - winHeight)/2 - 30;
features = features+',width='+winWidth+',height='+winHeight+' ,top='+h+',left='+w;
window.open(theURL,winName,features);
}
function checkForm() {
document.book.gb_name.value=trim(document.book.gb_ name.value);
document.book.gb_comment.value=trim(document.book. gb_comment.value);
if(document.book.gb_name.value == "") {
alert("Ingresa tu Nombre para continuar");
document.book.gb_name.focus();
return false;
}
if(document.book.gb_comment.value == "") {
alert("No ingresaste tu mensaje!");
document.book.gb_comment.focus();
return false;
}
if(document.book.gb_email.value == "") {
alert("Tu Email es requerido para participar en la Comunidad");
document.book.gb_email.focus();
return false;
}

if(document.book.gb_comment.value.length<$VARS[min_text] || document.book.gb_comment.value.length>$VARS[max_text]) {
alert("$LANG[ErrorPost3]");
document.book.gb_comment.focus();
return false;
}
flag=1;
return true;
}
function trim(value) {
startpos=0;
while((value.charAt(startpos)==" ")&&(startpos<value.length)) {
startpos++;
}
if(startpos==value.length) {
value="";
} else {
value=value.substring(startpos,value.length);
endpos=(value.length)-1;
while(value.charAt(endpos)==" ") {
endpos--;
}
value=value.substring(0,endpos+1);
}
return(value);
}
function emoticon(text) {
text = ' ' + text + ' ';
if (document.book.gb_comment.createTextRange && document.book.gb_comment.caretPos) {
var caretPos = document.book.gb_comment.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
document.book.gb_comment.focus();
} else {
document.book.gb_comment.value += text;
document.book.gb_comment.focus();
}
}
//-->
</script>
<table border="0" cellspacing="0" cellpadding="2" align="center" width="$VARS[width]">
<tr>
<td height="45"><b><font size="4" face="$VARS[font_face]" color="$VARS[text_color]">Comunidad Bartender</font></b></td>
<td height="45">&nbsp;</td>
</tr>
<tr>
<td width="56%" valign="bottom" class="font2">Rellena los siguientes campos para ingresar tus comentarios. Después de enviar tu mensaje, regresarás automáticamente a la Comunidad. Los espacios marcados con (*) representan campos obligatorios. </td>

<td width="44%" align="right" valign="bottom" class="font2"><b><img src="$GB_PG[base_url]/img/return.gif" width="10" height="10">
<a href="$GB_PG[index]">Volver a la Comunidad</a> | <img src="$GB_PG[base_url]/img/lock.gif" width="9" height="11"> <a href="$GB_PG[admin]">$LANG[BookMess5]</a></b></td>
</tr>
</table>
<form method="post" action="$GB_PG[addentry]" name="book" enctype="multipart/form-data" onsubmit="return checkForm()">
<input type="hidden" name="gb_token" value="$VARS[gbtoken]">
<table border="0" cellspacing="1" cellpadding="4" width="$VARS[width]" align="center" bgcolor="$VARS[tb_bg_color]">
<tr>
<td colspan="2" bgcolor="$VARS[tb_hdr_color]"><b><font size="2" face="$VARS[font_face]" color="$VARS[tb_text]">Dejanos tus comentarios:</font></b></td>
</tr>
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%" class="font1"><img src="$GB_PG[base_url]/img/user.gif" width="16" height="15"> $LANG[FormName]*:</td>
<td><input type="text" name="gb_name" size="55" maxlength="60"></td>
</tr>
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%" class="font1"><img src="$GB_PG[base_url]/img/email.gif" width="15" height="15"> $LANG[FormEmail]:*</td>
<td><input type="text" name="gb_email" size="55" maxlength="60"></td>
</tr>
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%" class="font1"><img src="$GB_PG[base_url]/img/location.gif" width="16" height="16"> $LANG[FormLoc]:</td>
<td><input type="text" name="gb_location" size="55" maxlength="50"></td>
</tr>

$OPTIONAL
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%" valign="top" class="font1">$LANG[FormMessage]*:
<br><br>
<table border="0" cellspacing="0" cellpadding="6" align="center">
<tr align="center" valign="middle">
<td><a href="javascript:emoticon('')"><img src="$GB_PG[base_url]/img/smilies/a1.gif" border="0"></a></td>
<td><a href="javascript:emoticon('')"><img src="$GB_PG[base_url]/img/smilies/a2.gif" border="0"></a></td>
<td><a href="javascript:emoticon('')"><img src="$GB_PG[base_url]/img/smilies/a3.gif" border="0"></a></td>
</tr>
<tr align="center" valign="middle">
<td><a href="javascript:emoticon('(333)')"><img src="$GB_PG[base_url]/img/smilies/flame.gif" border="0"></a></td>
<td><a href="javascript:emoticon(':D')"><img src="$GB_PG[base_url]/img/smilies/a5.gif" border="0"></a></td>
<td><a href="javascript:emoticon(':p')"><img src="$GB_PG[base_url]/img/smilies/a6.gif" border="0"></a></td>
</tr>
<tr align="center" valign="middle">
<td><a href="javascript:emoticon(':))')"><img src="$GB_PG[base_url]/img/smilies/FRlol.gif" border="0"></a></td>
<td><a href="javascript:emoticon('(cool)')"><img src="$GB_PG[base_url]/img/smilies/dance.gif" border="0"></a></td>
<td><a href="javascript:emoticon(':mad:')"><img src="$GB_PG[base_url]/img/smilies/a9.gif" border="0"></a></td>
</tr>
<tr align="center" valign="middle">
<td><a href="javascript:emoticon(':eek:')"><img src="$GB_PG[base_url]/img/smilies/a10.gif" border="0"></a></td>
<td><a href="javascript:emoticon('3(: ) )')"><img src="$GB_PG[base_url]/img/smilies/devil.gif" border="0"></a></td>
<td><a href="javascript:emoticon('(8))')"><img src="$GB_PG[base_url]/img/smilies/bounce.gif" border="0"></a></td>
</tr>
<tr align="center">
<td colspan="3">
<div align="center" class="font2"><a href="javascript:openCentered('emoticones.html','c odes','640','450','scrollbars=yes')">ver mas imagenes </a>
</div>
</td>
</tr>
</table>
</td>
<td bgcolor="$VARS[tb_color_1]" valign="top"><textarea name="gb_comment" cols="41" rows="11" wrap="VIRTUAL"></textarea><br>
</td>
</tr>
<tr bgcolor="$VARS[tb_color_1]">
<td width="25%"><div align="left" class="font2">Completa el Codigo de Seguridad*:</td>
<td>
$CAPTCHA
<input type="submit" name="gb_action" value="$LANG[FormSubmit]" class="input" onclick="if(flag==1) return false;">
<input type="submit" name="gb_action" value="$LANG[FormPreview]" class="input" onclick="if(flag==1) return false;">
<input type="reset" value="$LANG[FormReset]" class="input">
</td>
</tr>
</table>
</form>


Lamentablemente aquellos usuarios que quieran postear correctamente un link, no podran hacerlo, pero bueno, todo sea por evitar los mensajes spam
__________________
-- Nunca te des por vencido, aún vencido -- Web
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:43.