Posteo esto porque acabo de darme cuenta que he recomendado (incluso con descarga directa desde mi servidor) el formmail.php para hacer formularios de contacto, y tuve un inconveniente (aunque muy obvio) de seguridad hace poco y hubo que hacer una reforma, la cual detallo aquí.
Sucede que el email de destino estaba en un campo oculto en el formulario. Pero claro fue hecho cuando no había gente suficientemente al p*** para andar buscando formularios y utilizarlos para enviar publicidad de viagra (sin ofender)
Lo modificamos para añadir captcha, pero hasta ahora no se nos había ocurrido que un robot puede poner otro mail en el campo oculto y explotar el script, si es que no usa captcha.
Así que dejo las dos sencillas modificaciones que hay que realizar al script. La única limitación es que ahora la dirección de destino está en el mismo, pero con muy poco ingenio se puede adaptar para utilizar más de una dirección.
Buscar la línea:
Código PHP:
var $config_vars_array = array("recipient" => "",
Código PHP:
var $config_vars_array = array(/*"recipient" => "",*/
Código PHP:
/* proccess form */
$this->set_arrays();
$this->check_referer();
$this->check_recipient();
$this->check_required_fields();
$this->send_form();
$this->display_thankyou();
Código PHP:
/* proccess form */
$this->set_arrays();
$this->config_vars_array["recipient"]="AQUÍ LA DIRECCIÓN DE CORREO";
$this->check_referer();
$this->check_recipient();
$this->check_required_fields();
$this->send_form();
$this->display_thankyou();
Si hubiera más de una dirección, podría pasarse algún valor que la identifique mediante un campo oculto y asignarle a "recipient" el valor qe corresponda, de la misma manera que en el ejemplo.
Aquí dejo el formmail.php actualizado (en la misma url que el anterior)
http://www.cqsoft.com.ar/formmail.php.zip
Espero que sirva,
Éxitos.