Foros del Web » Programando para Internet » PHP »

Algunos formularios con datos vacios

Estas en el tema de Algunos formularios con datos vacios en el foro de PHP en Foros del Web. Hola. Quisiera consultarles lo siguiente. Tengo un formulario de contacto en HTML: <form name="form1" method="post" action="Contacto.php" enctype="multipart/form-data"> Dentro de la pagina Contacto.php armo el mail ...
  #1 (permalink)  
Antiguo 09/09/2009, 22:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Algunos formularios con datos vacios

Hola. Quisiera consultarles lo siguiente.

Tengo un formulario de contacto en HTML:
<form name="form1" method="post" action="Contacto.php" enctype="multipart/form-data">

Dentro de la pagina Contacto.php armo el mail y lo envio con la funcion mail.

Recibo varios formularios correctamente en forma diaria, pero de vez en cuando recibo un formulario con los datos en blanco (tiene los literales pero no los valores).

He probado de poner la direccion con la pagina Contacto.php en la barra de direcciones de mi navegador y es ahi cuando se envia el formulario en blanco. El inconveniente es que a dicha solo se accede desde el HTML al presionar Enviar (validando antes que todos los campos tengan datos), no existe otro link desde todo el sitio.

Como puede entonces estar pasando esto?

Espero puedan ayudarme.
Muchas gracias.
  #2 (permalink)  
Antiguo 09/09/2009, 23:28
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Algunos formularios con datos vacios

Que tipo de validaciones haces? javascript + php?... si solo validas por medio de javascript es bastante facil "brincarse" el formulario, de hecho, no necesitas un link, solo ver el codigo fuente para saber donde esta ubicado el php que lo procesa.

Muestra el codigo de contacto.php para saber exactamente lo que pasa.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 10/09/2009, 10:08
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Algunos formularios con datos vacios

Las validaciones estan hechas con Javascript en la pagina donde esta el formulario (Contacto.htm), son las que genera el Dreamweaver, aqui pego ese codigo:

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe ser una direccion valida de e-mail.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es obligatorio.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}



El codigo php de la segunda pagina (Contacto.php) es el siguiente:

<?
ini_set(sendmail_from,'[email protected]');
$para ="[email protected]";
$autor = "Autor";
$autor_mail = "[email protected]";
$tema = "Formulario de Contacto Web";
$mensaje = '
<html>
<body bgcolor="#FFFFFF">
<p><font size="2" face="Arial, Helvetica, sans-serif"><strong>Datos Formulario de Contacto Web</strong></font></p>
<p>Nombre: '; $mensaje .= "$Nombre"; $mensaje .= '</p>
<p>Pais: '; $mensaje .= "$Pais"; $mensaje .= '</p>
<p>Provincia: '; $mensaje .= "$Provincia"; $mensaje .= '</p>
<p>Email: '; $mensaje .= "$Mail"; $mensaje .= '</p>
<p>Comentario: '; $mensaje .= "$Comentario"; $mensaje .= '</p>
</body>
</html> ';

if (@mail($para,$tema,$mensaje,"MIME-Version: 1.0\r\n"."Content-type: text/html; charset=iso-8859-1\r\n"."From: ".$autor."<".$autor_mail.">\r\n"))
{
echo "<p align='center' >Gracias por ponerse en contacto.</p>";
}
else
{
echo "<p align='center' >Ha ocurrido un error, por favor intentelo nuevamente.<br><br></p>";
}
?>

Entiendo lo que comentas de burlarse y poder acceder a la pagina PHP directamente mirando el codigo fuente, lo que no comprendo es quien se toma esa molestia... yo pensaba en algo mas automatizado, como algun spam o algun robot que al recorrer las paginas para indexar pueda generar eso. Pero son solo suposiciones.

Desde ya muchas gracias.
Un saludo.
  #4 (permalink)  
Antiguo 10/09/2009, 13:22
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Algunos formularios con datos vacios

La validacion por javascript no es suficiente, porque bots, spammers, gente que no tiene que hacer, navegadores con javascript desactivado, etc. van a "brincar" directamente al formulario PHP.

Formularios y validacion:
Sin validacion = Feo + receptor de spam
Solo javascript = Bonito + receptor de spam
Solo PHP = Feo (?) + funcional
javascript + PHP = Bonito + funcional
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 10/09/2009, 17:52
Avatar de almagropaco_  
Fecha de Ingreso: marzo-2008
Ubicación: Mar del Plata
Mensajes: 854
Antigüedad: 16 años, 1 mes
Puntos: 25
Respuesta: Algunos formularios con datos vacios

Me parece que lo mas facil es que la funcion para enviar sea en Contacto.php?op=mail entonces al entrar a Contacto.php no se envia el mail..
  #6 (permalink)  
Antiguo 21/09/2009, 19:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Algunos formularios con datos vacios

Agregare entonces alguna validacion al php para evitar esto. No puedo poner el Enviar en el PHP porque la pagina de Contacto en HTML esta como parte de la barra de navegacion de todo el sitio y son muchas paginas que se deberian modificar (mas de 100).

Muhcas gracias por la ayuda.
  #7 (permalink)  
Antiguo 13/11/2009, 12:37
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Algunos formularios con datos vacios

Hola almagropaco, yo tengo el mismo problema que expone flox, me puedes detallar algo más tu solución.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:29.