HTML - Duda: filtrar mensajes de un formulario por texto

 
Vista:

Duda: filtrar mensajes de un formulario por texto

Publicado por elhedone (1 intervención) el 06/12/2022 21:42:38
Buenos días,
soy un novato programando (es más, no sé prácticamente nada). Me gustaría saber si, teniendo un formulario en html, puedo evitar que alguien envíe un correo según lo que escriba en alguna de las casillas. El caso es que puse un honeypot en el formulario que ha funcionado bastante bien para evitar spam, pero me siguen llegando mensajes de una persona que usa el mismo nombre en todos los correos. Por eso me gustaría intentar poner una orden en la que, en caso de rellenarse la casilla de nombre con el nombre de esta persona, el mensaje no se enviase. No sé si es posible o si hay una forma mejor de evitar esto.

Muchas gracias de antemano y saludos. Dejo el php del formulario aquí abajo.

<?php
$nombre = $_POST['name'];
$mail = $_POST['email'];
$empresa = $_POST['message'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ",\r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $empresa . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = '------';
$asunto = '------';


if(isset($_POST['middle_name']) && $_POST['middle_name'] !="")
die();

mail($para, $asunto, utf8_decode($mensaje), $header);

header("Location: ----");
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Ivan

Duda: filtrar mensajes de un formulario por texto

Publicado por Ivan (56 intervenciones) el 07/12/2022 12:41:03
Hola,

la solución simple es poner un condicional if ($nombre <> 'nombre_persona') entonces procesar email;
Pero cambiando de nombre, la persona se salta el filtro fácilmente y no vas a estar poniendo un nombre diferente cada vez.

Una mejor opción es capturar su IP y poner el filtro basado en IP, pero si cambia de IP también se salta el filtro, aunque esto ya le molestará más y poco a poco irás eliminando sus IP más habituales.

Hay que tener en cuenta que todos estos filtros son para evitar robots spam, si se trata de una persona es imposible evitar que una pueda enviar emails y otra no.

Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar