FAQ

Preguntas
Frecuentes

Consultá
tus inquietudes
Registrá tu Dominio
Categorías

PHP

Formulario de contacto en PHP 2

 

 

Crear un archivo llamado contacto.html con el siguiente código:

 

<!–Título–>
<p><H2>Mi formulario HTML</H2></p>
<!–Formulario–>
<FORM id=»contacto» name=»contacto» action=»enviar.php» method=»POST»>
<p>
<label>Nombre <input name=»nombre» type=»text» id=»nombre»
size=»42″/></label>
</p>
<p>
<label>Empresa
<input name=»empresa» type=»text» id=»empresa» size=»31″/></label></p>
<p><label>E-mail <input name=»mail» type=»text» id=»mail» size=»43″/>
</label>
</p>
<p><label>Mensaje<br>
<textarea name=»mensaje» cols=»40″ rows=»8″ id=»mensaje»>
</textarea></label>
</p>
<p><input type=»submit» name=»Submit» value=»Enviar»/></p>
</FORM>

 

 

 

Crear un archivo llamado enviar.php, quien será el encargado de mandar los datos que se introduzcan en el formulario.

Reemplace ejemplo@mail.com por la dirección de mail en donde desea recibir el mensaje.

 

<?php
$nombre = $_POST[‘nombre’];
$mail = $_POST[‘mail’];
$empresa = $_POST[‘empresa’];

$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 . «,
de la empresa » . $empresa . » \r\n»;
$mensaje .= «Su e-mail es: » . $mail . » \r\n»;
$mensaje .= «Mensaje: » . $_POST[‘mensaje’] . » \r\n»;
$mensaje .= «Enviado el » . date(‘d/m/Y’, time());

$para = ‘ejemplo@mail.com’;
$asunto = ‘Asunto del mail recibido’;

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

echo ‘Mensaje enviado correctamente’;
?>

 

 

  • Las tres primeras líneas establecen las variables que vendrán del formulario HTML, serán tratadas en el archivo php y llegarán al mail que recibamos.
  • En el bloque de líneas “header”, ‘enviar.php’ creará la información que nos llegará acerca del remitente del formulario.
  • Las líneas “mensaje” redactarán el correo que recibamos en el buzón que hemos escrito en la línea ‘para’ y con el ‘asunto’ indicado.
  • La penúltima línea “mail” será la encargada de enviarnos el mail con toda la información que os he resumido.
  • Finalmente, “echo” se encarga de que el usuario reciba un mensaje al haberse procesado correctamente su solicitud.

 

 

 

Ver Más

¿ Cuál es la vulnerabilidad de la función mail() de PHP?

Vulnerabilidad de la función mail() de PHP



Existe un creciente uso de la modalidad de envio de e-mails masivos a través de formularios web que utilizan PHP para el envio de mails con el objetivo de enviar spam, en algunos casos, y el anonimato de los mensajes enviados en otros caso. Esta modalidad aprovecha la forma en que la función mail() de PHP funciona y se conoce como "Headers Mail Injection". La misma consiste en aprovecharse de formularios de sitios web que utilicen la función mail() de PHP para el envio de los datos ingresados por el visitante y que además estos, no validen los datos en forma correcta para evitar este tipo de abusos.





¿Cómo funciona esta modalidad?

Para explicarlo vamos a basarnos en un ejemplo simple, supongamos que nuestro sitio dispone de un campo para el ingreso del e-mail por parte del visitante de la siguiente forma:



<input name="email" type="text" value="Ingrese su e-mail aqui" />



luego, la dirección ingresada en este campo es enviada al servidor y es tomada por el script PHP para ser utilizada como FROM en la función mail() y de esta manera el mensaje que nos llega a nuestro correo tendrá como remitente la dirección ingresada por el visitante. Ahora bien, la función mail() de PHP



mail(recipiente, asunto, mensaje, cabeceras extras);



simplemente concatena los parametros que le son pasados, por lo cual, si en el campo mail del formulario ingresamos lo siguiente:



"spammer@anonimo.com%0ACc:email@victima1.com%0ABcc:email@victima2.com,email@victima3.com"



donde la primera dirección será el FROM: (dirección de origen que llegará a las víctimas del spam), %0A es el valor hexadecimal del caracter de salto de línea <LF>, Cc: (Copias) contiene la dirección o direcciones de las víctimas y Bcc: (Copias ocultas) contiene también direcciones de las víctimas del spam.



Parte de la cabecera del e-mail generado por nuestro formulario abusado será:

To: recipient@midominio.com
Subject: Asunto del mensaje
From: spammer@anonimo.com
Cc:email@victima1.com
Bcc:email@victima2.com,email@victima3.com

Con esto, el spammer habrá utilizado nuestro formulario para el envio de correo masivo a través de nuestro formulario.



El ejemplo visto es el caso más básico de esta modalidad ya que a través de la inyección de cabeceras se puede incluso modificar el asunto y hasta el mensaje en si mismo hasta el punto de poder enviar mensajes con contenido html.





¿Qué consecuencias tiene esta modalidad?

En primer lugar, nuestro formulario está siendo usado para llevar a cabo un acto con el cual la gran mayoría de nosotros estamos en desacuerdo, también se está haciendo uso del ancho de banda disponible para el servidor afectando al resto e los sitios alojados en el mismo, por lo cual, el sitio en cuestión será suspendido hasta que el inconveniente sea resuelto, por último, ante una denuncia de spam, dicha cuenta deberá ser suspendida de acuerdo a lo previsto en legales de nuestro sitio. Es responsabilidad de cada usuario el utilizar código lo suficientemente seguro en su sitio web y corregir esto si fuera necesario.





¿Cómo evitar la utilización de nuestro formulario?

Ante todo, cabe aclarar 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 utiliza algún script de PHP no elaborado por Ud. como formailphp, por favor, actualice el mismo con la versión más reciente verficando que brinde una solución a este tipo de actividad.



Si utiliza un script PHP creado por Ud. o posee los conocimientos como para editar el mismo, aquí incorporamos una función que puede 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 Ud. utilice para el procesamiento del formulario e incluso incorporar control de errores.

No olvide incluir los campos ocultos del formulario si estos datos van a ser pasado a través de la función mail().



Esperamos que esta información le sea útil y de ayuda para que entre todos podamos minimizar el impacto causado por este tipo de actos y hacer un uso eficiente del servicio.



Por cualquier consulta adicional dirigirse a mesa de soporte.

Ver Más
Hablá con nuestro equipo
¿Necesitas asesoramiento?
Hablá con nuestro equipo

0810-345-HOST(4678)

¡Hablemos Directo!</
¡Hablemos Directo!

20 años de Clientes

Felices y Satisfechos

Excelente el servicio que dan la asistencia al cliente y todo el soporte de ayuda con el que cuentan. son los mejores de bahía. muchas gracias por todos. !!!

Commentario

Excelente servicio y soporte tecnico, el mejor servicio de hosting de Bahia Blanca, nunca un problema! gracias gente!!!

Commentario

FELICITACIONES POR LA WEB NUEVA ¡ SIGAN CRECIENDO ABRAZO NIXEL

Commentario

Buen servicio, muy buena atencion.

Commentario

Excelente el servicio que dan la asistencia al cliente y todo el soporte de ayuda con el que cuentan. son los mejores de bahía. muchas gracias por todos. !!!

Commentario

Excelente la atención, hace pocos meses contraté Hosting Bahía y ante cada inconveniente y recibido una atención técnica espectacular. Muy buen servicio sin problemas

Commentario

Arte Marcial kimugan ( www.kimugan.com - www.gabrielgagliardini.com ) Estoy muy conforme con el servicio. Lo recomiendo ampliamente.

Commentario

Excelente atención y asistencia al cliente. Soporte de 10!!! Me alegra contar con uds para mi empresa!!!

Commentario

Excelente nivel en el servicio, igual en la atencion...felicitaciones!!! desde www.mcdigitalmarketing.com.ar

Commentario

Excelente calidad y atención... Más que recomendables! Supieron ayudarme y asesorarme en todo y estuvieron siempre disponibles... Buenísimo que podamos contar con un servicio así en Bahía... Muchísimas gracias y ojalá mucha gente más se sume porque el servicio lo vale! EXCELENTE!

Commentario

Sin duda son los mejores de la ciudad y la zona. La relación precio/producto es excelente y además de la altísima calidad y su gran variedad de servicios, cuentan con personal altamente calificado para dar soporte a sus clientes. Su trayectoria los avala. Gracias por todo!

Commentario

Excelente servicio y atencion! nunca un problema

Commentario

Mi negocio es cliente desde mas de 6 años, uno de los primeros, y siempre recibiendo un excelente servicio personalizado que es lo que mas vale. Saludos a Hosting Bahia y sigan asi :D

Commentario

Tenía que hacer dos registros NIC. Gracias a la asistencia y predisposición de Martín, tanto en la oficina como la asistencia técnica telefónica, pude lograr mi objetivo. Excelente.

Commentario

Excelente calidad y atención... Más que recomendables! Supieron ayudarme y asesorarme en todo y estuvieron siempre disponibles... Buenísimo que podamos contar con un servicio así en Bahía... Muchísimas gracias y ojalá mucha gente más se sume porque el servicio lo vale! EXCELENTE!

Commentario

Excelente calidad y atención... Más que recomendables! Supieron ayudarme y asesorarme en todo y estuvieron siempre disponibles... Buenísimo que podamos contar con un servicio así en Bahía... Muchísimas gracias y ojalá mucha gente más se sume porque el servicio lo vale! EXCELENTE!

Commentario

Mi negocio es cliente desde mas de 6 años, uno de los primeros, y siempre recibiendo un excelente servicio personalizado que es lo que mas vale. Saludos a Hosting Bahia y sigan asi :D

Commentario

Increíble servicio, gran soporte y excelente relación calidad/precio. Gracias Chicos!

Commentario

Excelente el apoyo que me dieron con los tramites en nic.ar - La calidad y calidez en la atención es de destacar!! Gracias Martín!!

Commentario

Excelente calidad y atención... Más que recomendables! Supieron ayudarme y asesorarme en todo y estuvieron siempre disponibles... Buenísimo que podamos contar con un servicio así en Bahía... Muchísimas gracias y ojalá mucha gente más se sume porque el servicio lo vale! EXCELENTE!

Commentario

Arte Marcial kimugan ( www.kimugan.com - www.gabrielgagliardini.com ) Estoy muy conforme con el servicio. Lo recomiendo ampliamente.

Commentario

Excelente el servicio que dan la asistencia al cliente y todo el soporte de ayuda con el que cuentan. son los mejores de bahía. muchas gracias por todos. !!!

Commentario

Chicos! excelente servicio! la verdad que muy conforme porque ademas siempre estan para resolverme todos los problemas :) muchas gracias! Desde ya super confiables, responsables y recomendables... Felicitaciones!!!

Commentario

Excelente el apoyo que me dieron con los tramites en nic.ar La calidad y calidez en la atención es de destacar!! Gracias Martín!!

Commentario

Excelente servicio y muy buena atencion! Satisfecho 100%

Commentario

Tuve un problema con el espacio en disco apenas subi mi página web y mis consultas fueron respondidas inmediatamente. Muy buena atención!

Commentario

Impecable el servicio y la rapidez en solucionar nuestros problemas! Gracias por ayudarnos!!

Commentario

Excelente y rápido asesoramiento en las soluciones a los inconvenientes que me surjen referentes a los servicios que me brindan!!! 100% recomendables!!

Commentario

Increíble servicio, gran soporte y excelente relación calidad/precio. Gracias Chicos!

Commentario

Tenía que hacer dos registros NIC. Gracias a la asistencia y predisposición de Martín, tanto en la oficina como la asistencia técnica telefónica, pude lograr mi objetivo. Excelente.

Commentario