Foros del Web » Programando para Internet » PHP »

[APORTE] Sistema anti spam

Estas en el tema de [APORTE] Sistema anti spam en el foro de PHP en Foros del Web. Hola, les traigo este sistema anti spam, basado en el captcha que esta en la sección de aportes de este Foro(PHP). Les dejo algunos links ...
  #1 (permalink)  
Antiguo 31/01/2009, 18:30
Avatar de MaTyS  
Fecha de Ingreso: enero-2009
Ubicación: Mar del Plata
Mensajes: 220
Antigüedad: 15 años, 6 meses
Puntos: 18
[APORTE] Sistema anti spam

Hola, les traigo este sistema anti spam, basado en el captcha que esta en la sección de aportes de este Foro(PHP).

Les dejo algunos links utiles..

Descarga: DESCARGAR
Demo: DEMO

Bueno comenzamos:

index.php
Código PHP:
<?php
ob_start
('ob_gzhandler'); 
session_start(); 
include 
'form_inc.php';
if ((
$_POST[x])&&(substr($_SESSION[igif], 17) === $_SESSION['afloat'])){ 
$x $_POST[x];
$a base64_decode($_SESSION['afloat']);
$b $a
$a explode(" "$a); 
$a $a[3]; 
$bb round($b);
$aa round($a); 
$gc explode(" "'0 19 40 60 82 104 79 100 121 142 163 185');
$ac $aa 6
if (
$bb <= $aa){ $ac $bb 1; } 
$mess "ERROR: Perdon " $_POST[yname] . " tenes que clikear un el numero correcto";
if ((
$x >= $gc[$ac-1]) && ($x <= $gc[$ac])){ 
$to  $owner_email
$headers  'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
$headers .= 'Por:<' $_POST[email] . '>' $_POST[yname] .  "\r\n";
$messages 'Mensaje: <br>' $_POST[message] . '<p> Nombre <br>' $_POST[yname] . '<p> E-mail <br>' $_POST[email] . '<p> IP:<br>' $_SERVER[REMOTE_ADDR] . '<p> Host:<br> ' gethostbyaddr($_SERVER['REMOTE_ADDR']) . '<p> Navegador:<br> ' $_SERVER[HTTP_USER_AGENT] . '<p><br>';
?>
<script>    
alert("Gracias <? echo $yname?> tu mensaje sera enviado."); 
window.location = "<?=$redirect;?>";
</script>  
<?   
exit; }
?> 
<script>     
alert("<?=$mess;?>"); 
window.location = window.location;
</script>
<?
session_unset
();
session_destroy();
ob_end_flush(); 
exit; 
}
$afloat base64_encode(" " $num1 rand(0,3) . "." $num2 rand(100,999) . "
 Float " 
$num3 rand(1,4) . "." $num4 rand(100,999) . "  "); 
$aler "> 78"
if(
round($num1 "." $num2) <= round($num3 "." $num4)) {$aler "< 105";} 
$_SESSION[igif] = "create_gif.php?a=" $afloat ""
$_SESSION['afloat'] = $afloat;
?>    
<html>
<head>
<style type="text/css"> 
.cd { 
width: 185px;
height: 15px; 
background-image: url(<?=$_SESSION[igif];?>);
background-repeat: no-repeat;
position: relative; 
left:<?=rand(-100,100);?>px;
bottom:<?=rand(-5,20);?>px;
z-index: 2;

</style>
<script language="JavaScript"> 
function submitform() { 
if (document.xcoords.yname.value == "") {
alert("Por favor introduci tu nombre.");
return false; } 
if (document.xcoords.email.value == "" || document.xcoords.email.value.indexOf("@")<1|| document.xcoords.email.value.indexOf(".")<1) {
alert("Por favor pone un email verdadero");
return false;} 
if (document.xcoords.message.value == "") {
alert("Por favor introduci algun comentario");
return false; }  
if (document.xcoords.x.value <?=$aler;?>) { 
document.xcoords.submit();
} else { 
alert("Tenes que clickear el numero correcto.");
} }
function xcoord(event) { 
image = event.offsetX?(event.offsetX):event.pageX-document.getElementById("coord").offsetLeft;
document.xcoords.x.value = image;

</script>
</head>
<body style="background: <?=$backcolor;?>" link="<?=$linkcolor;?>" vlink="<?=$linkcolor;?>" alink="<?=$linkcolor;?>">
<div align="center"> <br><div style="border-right: 1px solid <?=$bordercolor;?>; border-left: 1px solid <?=$bordercolor;?>; background: #F8F8FF; width: 700px; border-top: 1px solid <?=$bordercolor;?>; border-bottom: 2px solid <?=$bordercolor;?>" align="center">
<table summary="" border="0">
    <tr>
        <td style="font: bold 18px Arial; color: <?=$fontcolor;?>" align="left"><?=$sitename;?> Contacto </td>
    </tr>
<form name="xcoords" action="<?=$_SERVER['PHP_SELF']; ?>" method="post">
    <tr>
        <td align="left">
Nombre: 
  <input type="text" name="yname" size="40" maxlength="256" style="border: 1px solid <?=$bordercolor;?>">
</td>
    </tr><tr>
      <td align="left">Mail: &nbsp;
        <input type="text" name="email" size="40" maxlength="256" style="border: 1px solid <?=$bordercolor;?>"></td></tr>
</table><table summary="" border="0">
    <tr>
        <td align="center">Mensaje.<br>
          <textarea name="message" cols="30" rows="7" style="border: 1px solid <?=$bordercolor;?>; background: #F5F5F5"></textarea>
<input type="hidden" name="x" /> </td>
    </tr>
</table><table border="0"><tr>
  <td style="font: 11px Arial; color: <?=$bordercolor;?>; border-color: <?=$bordercolor;?>; border-style: solid; border-width: 1px; background: #F8F8FF; height: 30px; width: 189px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; position: relative; font-weight: normal;">Haz click en el numero que le sigue a la palabra 'CLICK' </td>
</tr>
</table></form><p><div id="coord" onClick="submitform(xcoord(event))" class="cd"></div></div><p>
</div>
</body></html><?php ob_end_flush(); ?>
create_gif.php
Código PHP:
<?php 
ob_start
('ob_gzhandler');
session_start();
$a $_GET['a'];
if (
$a == $_SESSION['afloat']){
$a base64_decode($a); 
$im imagecreatetruecolor (18515);
$myn = array($ooon rand(81,99), $tooo rand(61,$ooon-1), $trif rand(41,$tooo-1), 
$foey rand(21,$trif-1), $flit rand(11,$foey-1));
$rn array_rand($myn5);
$mynum " " $myn[$rn[0]] . " " $myn[$rn[1]] . " " $myn[$rn[2]] . " " $myn[$rn[3]] . " " $myn[$rn[4]] . "";
$b $a;
$a explode(" "$a); 
$a $a[3]; 
$aa round($a);
$bb round($b);
$na 79;
$nb 185;
$nc 82
$nd 182;
$ims = -1;
$ab explode(" "$mynum);
$mystring "Click $ab[$aa]  $mynum";
if (
$bb <= $aa){
$aa $bb 1
$mystring "" $mynum " Click $ab[$aa] "
$na 0;
$nb 106
$nc 4;
$nd 104;
$ims = -9;
}
$change rand(1,9);
$lime imagecolorallocate($im,0,255,0);
$yellow imagecolorallocate($im,255,255,0);
$white imagecolorallocate($im,255,255,255);
$lgray imagecolorallocate($im,206,206,206); 
$gray imagecolorallocate($im,115,115,115); 
$black imagecolorallocate($im,0,0,0);
$green imagecolorallocate($im,1,107,0);
$grc " $lime $yellow $white $lgray $yellow $white $gray $black $green";
$rc explode(" "$grc);
$bgc $rc[$change]; 
$bc imagecolorallocate ($im000); 
$rd imagecolorallocate ($im25500); 
$wh imagecolorallocate ($im255255255);
if ((
$change 3) && ($change 7)) { $bc $rd;} 
elseif (
$change 6) { $bc $wh;}
imagefilledrectangle ($im1118415$bgc);
imagerectangle ($im0018414$bc); 
for(
$i=$na;$i<=$nb;$i+=21)
imageline($im,$i,0,$i,15,$bc);
imagestring ($im3$ims1" $mystring"$bc); 
header("Content-Type: image/gif"); 
imagegif($im); 
imagedestroy($im); 
}
ob_end_flush();
?>
form_inc.php
Código PHP:
<?php 
$owner_email 
"[email protected]"
$redirect "http://www.tuweb.com";
$sitename "Simple Sistema de Anti Spam by MaTyS";
$backcolor "white";
$linkcolor "maroon";
$bordercolor "maroon";  
$fontcolor "maroon";
?>
ESPERO QUE LES SEA UTIL :).

Última edición por GatorV; 01/02/2009 a las 12:24 Razón: Agregando LINKS
  #2 (permalink)  
Antiguo 31/01/2009, 18:42
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 9 meses
Puntos: 101
Respuesta: [APORTE] Sistema anti spam

Hola MaTyS,
Buen aporte :D
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #3 (permalink)  
Antiguo 31/01/2009, 19:15
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 5 meses
Puntos: 27
Respuesta: [APORTE] Sistema anti spam

muy buen aporte, se agradece.

  #4 (permalink)  
Antiguo 31/01/2009, 22:41
Avatar de MaTyS  
Fecha de Ingreso: enero-2009
Ubicación: Mar del Plata
Mensajes: 220
Antigüedad: 15 años, 6 meses
Puntos: 18
Muchas gracias pato12 y a vos tambíen vicram10.
Gracias por comentar :)

Gracias de nuevo :).
Agrege algunos links utiles.
Suerte y saludos.

Última edición por GatorV; 01/02/2009 a las 12:10
  #5 (permalink)  
Antiguo 01/02/2009, 10:04
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años
Puntos: 416
Respuesta: [APORTE] Sistema anti spam

Cita:
Iniciado por MaTyS Ver Mensaje
Gracias de nuevo :).
Agrege algunos links utiles.
Suerte y saludos.
Probe el demo, y cada vez que lleno la informacion y hago clic en el numero que le sigue a la palabra 'Clic', me dice que tengo que hacer clic en el numero correcto. Pero si le hago clic a algun otro, me redirecciona :S.
  #6 (permalink)  
Antiguo 01/02/2009, 11:37
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 5 meses
Puntos: 27
Respuesta: [APORTE] Sistema anti spam

en realidad loq ue pude corroborar
es que debes fijarte el numero que aparece a lado de click

y buscar entre los otros numeros uno igual y darle click allil

ejemplo:

4 - 5 - 6 - click 5

entonces debemos clickear en

4 - [5] - 6 - click 5

salu2
  #7 (permalink)  
Antiguo 01/02/2009, 12:22
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 10 meses
Puntos: 55
Respuesta: [APORTE] Sistema anti spam

interesante anti-span talvez trabajandolo unp oco mas con la acceseibilidad sea una buena herramienta
__________________
Degiovanni Emilio
developtus.com
  #8 (permalink)  
Antiguo 01/02/2009, 13:56
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años
Puntos: 416
Respuesta: [APORTE] Sistema anti spam

Cita:
Iniciado por vicram10 Ver Mensaje
en realidad loq ue pude corroborar
es que debes fijarte el numero que aparece a lado de click

y buscar entre los otros numeros uno igual y darle click allil

ejemplo:

4 - 5 - 6 - click 5

entonces debemos clickear en

4 - [5] - 6 - click 5

salu2
Ahhhhhhh, con razon. Es que el sitio no fue muy descriptivo del todo:
Cita:
Haz click en el numero que le sigue a la palabra 'CLICK'
Pues asi cualquier se confunde.
  #9 (permalink)  
Antiguo 01/02/2009, 14:09
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 3 meses
Puntos: 12
Respuesta: [APORTE] Sistema anti spam

Excelente!

Ami me costo tambien al principio! Luego le tome la mano, esta muy bueno man!

Saludos, Felicitaciones
__________________
CabaSoft Networks
  #10 (permalink)  
Antiguo 02/02/2009, 17:24
Avatar de MaTyS  
Fecha de Ingreso: enero-2009
Ubicación: Mar del Plata
Mensajes: 220
Antigüedad: 15 años, 6 meses
Puntos: 18
Respuesta: [APORTE] Sistema anti spam

Bueno gracias a todos :).
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:19.