Foros del Web » Programando para Internet » PHP »

Usan mi formulario !

Estas en el tema de Usan mi formulario ! en el foro de PHP en Foros del Web. Hola ... tengo gran incertidumbre por que siento que hacen uso de mi código bueno .. primero que nada quiero aclarar que no tengo gran ...
  #1 (permalink)  
Antiguo 03/01/2007, 14:07
 
Fecha de Ingreso: mayo-2002
Ubicación: Toluca
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 2
Usan mi formulario !

Hola ... tengo gran incertidumbre por que siento que hacen uso de mi código
bueno .. primero que nada quiero aclarar que no tengo gran conocimiento de seguridad web .... estudiaré mas al respecto, pero quiero saber si alguien me puede ayudar a entender y saber como solucionar el siguiente problema:

tengo una sección de CONTACTO en mi sitio web
es un formulario que pide nombre, tel, emial y mensaje para el dueño de CONTACTO
cuando un visitante escribe sus datos, y da click en enviar, el formulario manda los datos a un PHP, que envia a través de mail(), el correo al dueño de CONTACTO y le manda un correo al visitante comentando que pronto se responderá a sus comentarios

Resulta que se han enviado varios correos con textos "X", hay veces que llegan cuentas de correo en vez de datos, o inclusive códigos como este:

Content-Transfer-Encoding: 7bit Content-Type: text/html Subject: to very plain bcc: [email protected] have been stronger than the 5 grain vinegar usually available in the modern ). urn the hams every day for 303d6e7886196e79303d66e72f97a6e8

He oido acerca de que se puede inyectar codigo y cosas asi .. no las comprendo muy bien .. pero tengo miedo de que algo malo este pasando !!! ...

alguien me puede ayudar a explicarme y saber como lo soluciono ???

Saludos !!!!
__________________
Gracias a Foros como este, he podido crear websites y ahora contribuyo a seguir adelante con aportaciones
www.inxenio-dixeno.com Soluciones Web
  #2 (permalink)  
Antiguo 03/01/2007, 19:08
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
Re: Usan mi formulario !

deberias hacer algun tipo de comprobacion de que pagina se viene...
ejemplo: tienes tu pagina formulario.php o formulario.html donde se encuentra el formulario y este envia por post a enviar.php

deberias hacer alguna comprobacion en enviar.php que te asegurase que se viene desde formulario.html, y no desde cualquier otro sitio.
asi evitarias k yo mismo pudiera enviar datos a ese enviar.php
eso se puede ahcer de varias formas. Por ejemplo, usando algunas variables $_SERVER["HTTP_REQUEST"] creo que podria ser una de ellas si no recuerdo mal. corrijanme si me equivoco.
Otra (menos recomendable quizas) podria ser usar una variable de session que se cree al entrar en formulario.html y se compruebe en enviar.php que existe y su valor.
Y por ultimo, deberias limitar el contenido del mensaje, evitar que se pudieran introducir content-type y otras palabras como estas.
  #3 (permalink)  
Antiguo 03/01/2007, 19:18
 
Fecha de Ingreso: mayo-2002
Ubicación: Toluca
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 2
Re: Usan mi formulario !

ok ... alguien me podria ayudar a colocar unas líneas para probar esto ?? ...
como hacerlo realmente ??

y una duda que me intriga es ... estaran haciendo mal uso de mis recursos o me estarán haciendo daño ??
__________________
Gracias a Foros como este, he podido crear websites y ahora contribuyo a seguir adelante con aportaciones
www.inxenio-dixeno.com Soluciones Web
  #4 (permalink)  
Antiguo 03/01/2007, 19:35
 
Fecha de Ingreso: marzo-2005
Ubicación: Sevilla
Mensajes: 277
Antigüedad: 19 años, 1 mes
Puntos: 2
Re: Usan mi formulario !

//comprobamos que viene de formulario.html:
if ($_SERVER['HTTP_REFERER']!="http://www.tupagina.com/tuformulario.html"){
echo "Por favor use el formulario de contacto.";
exit;
}


//comprobamos que el mensaje no contiene palabras como Content-Type, Content-Transfer-Encoding, etc
$array_no_permitir[0]="Content-Type";
$array_no_permitir[1]="Content-Transfer-Encoding";
$array_no_permitir[2]="text/html";
//agrega todas las que quieras....
$total=count($array_no_permitir);
for($i=0;$i<$total;$i++){
if (eregi($array_no_permitir[$i],$_POST['mensaje']))
{
echo "El mensaje no puede contener: " . $array_no_permitir[$i];
exit;
}
}

//continuar enviando el mensaje....


Debes tener en cuenta que en el codigo uso $_POST['mensaje'] como el mensaje, cambialo por la variable que uses tu.
Tambien http://www.tupagina.com/tuformulario.html
ahi pon la ruta de tuformulario.


Por ultimo, esta solucion quizas sea debil, y evite algunos ataques pero otros no, deberias prguntar a alguien que sepa mas de php, ya que yo tampoco soy muy experto.
  #5 (permalink)  
Antiguo 04/01/2007, 11:00
 
Fecha de Ingreso: mayo-2002
Ubicación: Toluca
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 2
Re: Usan mi formulario !

si.. de hecho espero que alguien pueda contestarme y explicarme todos los riesgos de usar los formularios .... y explicar métodos de seguridad !!

De cualquier manera, Manu_Leon ... agradezco muchisimo tu aportación !!!
estoy seguro de que nos servira a muchos !!

Saludos Cordiales y FELIZ 2007
__________________
Gracias a Foros como este, he podido crear websites y ahora contribuyo a seguir adelante con aportaciones
www.inxenio-dixeno.com Soluciones Web
  #6 (permalink)  
Antiguo 04/01/2007, 11:13
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Usan mi formulario !

San google dice:

http://surlandia.com/2006/11/08/evit...rmularios-php/
http://www.au.cl/tutoriales/article.php?id=064


Hay mucha info, y habra que ponerse las pilas. Me pregunto si la clase phpMailer habra incluido algun mecanismo para que tambien nos olvidemos de este problema...

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #7 (permalink)  
Antiguo 04/01/2007, 11:16
 
Fecha de Ingreso: mayo-2002
Ubicación: Toluca
Mensajes: 229
Antigüedad: 21 años, 11 meses
Puntos: 2
Re: Usan mi formulario !

por alguna razón ...
el archivo no me da ningun dato en $_SERVER['HTTP_REFERER']
ya puse el phpinfo()
y no esta ahi esa variable !!!

que será ???
__________________
Gracias a Foros como este, he podido crear websites y ahora contribuyo a seguir adelante con aportaciones
www.inxenio-dixeno.com Soluciones Web
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 02:01.