¿Qué debo hacer si mi cuenta fue suspendida por envío de SPAM porque mi formulario es vulnerable?
Si el Departamento Técnico de Dattatec.com te informó que tu cuenta debió suspenderse en forma momentánea por envío masivo de correo o envío de SPAM, eso implica que la actividad de tu hosting está sobrecargando el servidor donde se encuentra, afectando a otros usuarios.
Si se te indicó que uno de los formularios de tu sitio es vulnerable y está siendo utilizado para envío de SPAM, deberás tener en cuenta que esta modalidad se da únicamente en formularios que utilizan la función mail() de PHP para procesar y enviar los datos ingresados por el visitante.
Si utilizas algún script de PHP no elaborado por ti como formailphp, por favor, actualizá el mismo con la versión más reciente verficando que brinde una solución a este tipo de actividad.
Si utilizas un script PHP creado por ti o posees los conocimientos como para editar el mismo, aquí incorporamos una función que puedes utilizar para validar los datos ingresados de forma eficiente:
<?php
function ValidarDatos($campo){
//Array con las posibles cabeceras a utilizar por un spammer
$badHeads = array(“Content-Type:”,
“MIME-Version:”,
“Content-Transfer-Encoding:”,
“Return-path:”,
“Subject:”,
“From:”,
“Envelope-to:”,
“To:”,
“bcc:”,
“cc:”);
//Comprobamos que entre los datos no se encuentre alguna de
//las cadenas del array. Si se encuentra alguna cadena se
//dirige a una página de Forbidden
foreach($badHeads as $valor){
if(strpos(strtolower($campo), strtolower($valor)) !== false){
header(“HTTP/1.0 403 Forbidden”);
exit;
}
}
}
//Ejemplo de llamadas a la funcion
ValidarDatos($_POST['email']);
ValidarDatos($_POST['asunto']);
ValidarDatos($_POST['mensaje']);
?>
Esta función es básica y puede ser modificada de acuerdo al script que utilices para el procesamiento del formulario e incluso incorporar control de errores. No olvides incluir los campos ocultos del formulario si estos datos van a ser pasados a través de la función mail().