Ejemplo de código fuente en php que consiste en evitar spam en un formulario de contacto, sin tener que implementar un famoso CAPTCHA (con los quebraderos de cabeza que conlleva a veces, que no hay ni dios que entienda algunos carácteres 😀 ).
ÍNDICE
Descripción del ejemplo
Lo que haremos es mediante CSS, ocultar dos campos del formulario, y verificar por php, si el dichoso robocito o bot de spam ha metido datos en esos dos campos, cosa que suelen hacer casi todos, ya que escanean el formulario sin css, y no distinguen si ese campo es un campo “trampa” que le hemos puesto.
Aunque he de decir, que cada vez son más listos estos robots 😈
Código
Éste sería el código para el HTML donde tengamos nuestro formulario de contacto:
<div id="spam">
<label>Dejar esto en blanco</label>
<input type="text" id="dejarenblanco" name="dejarenblanco" />
<label>No cambiar esto</label>
<input type="text" value="http://" name="nocambiar" />
</div>
Éste sería el código del CSS:
/* Hacemos display a none para que no se muestre al usuario los campos antispam */
#spam{display:none;}
Y éste sería el código para el php:
<?php
if(isset($_POST['dejarenblanco'])){
$dejarenblanco = $_POST['dejarenblanco'];
}
if(isset($_POST['nocambiar'])){
$nocambiar = $_POST['nocambiar'];
}
if ($dejarenblanco == '' && $nocambiar == 'http://') {
// código para enviar el formulario
// Enviarlo
mail('tu@correo.com', 'Asunto: Probando formulario de contacto...', $msj);
}
?>
Previsualización del ejemplo
Éste sería el formulario de contacto que verían los robots de spam:
Nosotros como usuarios, lo veríamos sin la zona del cuadrito rojo.