15/02/2006, 13:09
|
| | | Fecha de Ingreso: octubre-2003 Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 2 meses Puntos: 11 | |
Lo que dicen es que compruebes que los parámetros pasados a la función mail no contengan esos headers. Para ello, inserta la funcion que ellos te dan en tu codigo y luego la llamas antes de llamar la funcion mail, comprobando que los parametros que pasará a ésta estén sin esos headers, te muestran incluso el ejemplo de como hacerlo. Código PHP: <?php include("global.inc.php");
//colocamos la funcion 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; } } } $errors=0; $error="Se encontraron los siguientes errores mientras se enviaba la información.<ul>"; pt_register('POST','Email'); pt_register('POST','Nombredelservidorpublico'); pt_register('POST','Apellidodelservidorpublico'); pt_register('POST','Hechosqueconstituyenladenuncia'); $Hechosqueconstituyenladenuncia=preg_replace("/(\015\012)|(\015)|(\012)/"," <br />", $Hechosqueconstituyenladenuncia);if($Email=="" || $Nombredelservidorpublico=="" || $Apellidodelservidorpublico=="" || $Hechosqueconstituyenladenuncia=="" ){ $errors=1; $error.="<li>No llenó uno o más de los espacios requeridos. Por favor regrese e inténtelo de nuevo."; } if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$Email)){ $error.="<li>Escribió una dirección de correo inválida"; $errors=1; } if($errors==1) echo $error; else{ $where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/")); $message="Nombre completo: ".$Nombrecompleto." Primer apellido:".$Primerapellido." Segundo apellido:".$Segundoapellido." Calle: ".$Calle." Numero:".$Numero." Colonia:".$Colonia." Ciudad:".$Ciudad." Telefono: ".$Telefono." Email: ".$Email." Nombre del servidor publico: ".$Nombredelservidorpublico." Primer apellido del servidor publico: ".$Apellidodelservidorpublico." Segundo apellido del servidor publico:".$Segundoapellidodelservidor." Hechos que constituyen la denuncia: ".$Hechosqueconstituyenladenuncia." "; $message = stripslashes($message);
//validar datos del mensaje ValidarDatos($mensaje): mail("[email protected],","Denuncia de corrupción",$message,"From: phpFormGenerator");
header("Refresh: 0;url=http://www.midominio.com/gracias.htm"); ?> <?php } ?> |