Foros del Web » Programando para Internet » PHP »

Evitar ataques spam en mi sitio

Estas en el tema de Evitar ataques spam en mi sitio en el foro de PHP en Foros del Web. Hola a todos, les cuento que esto me surgió recién: resulta que veo que llegaron a mi bandeja de correo del servidor muchos emails de ...
  #1 (permalink)  
Antiguo 30/08/2011, 12:39
 
Fecha de Ingreso: octubre-2009
Mensajes: 107
Antigüedad: 14 años, 5 meses
Puntos: 2
Evitar ataques spam en mi sitio

Hola a todos, les cuento que esto me surgió recién: resulta que veo que llegaron a mi bandeja de correo del servidor muchos emails de subject "Mail failure - no recipient addresses" y el contenido del mensaje es:

A message that you sent contained no recipient addresses, and therefore no
delivery could be attempted.

------ This is a copy of your message, including all the headers. ------
Y acá sigue todo el resto del mensaje...

Le pregunté a los del servidor y me dijeron que borre inmediatamente ese script y que busque como asegurarlo, porque aparentemente está abierto para ser exploiteado.

Este es el script:
Código PHP:
$titulo=$_GET['titulo'];
$autor=$_GET['autor'];
$id=$_GET['id'];
$tunombre=$_POST['tunombre'];
$tuemail=$_POST['tuemail'];
$nombreamigo=$_POST['nombreamigo'];
$emailamigo=$_POST['emailamigo'];
//echo $id;
$asunto "Un colega le recomienda un libro";

$mensaje "Estimado/a <b>"$nombreamigo."</b>, <br>
su colega <b>"
.$tunombre."</b> le recomienda que ingrese al siguiente enlace: (enlace)
en el cual podrá encontrar el libro <b>"
$titulo "</b> del autor <b>"$autor 
"</b>. <br>";

// Utilizamos la función mal() de PHP para realizar el envío
// del mensaje
            
$headers "From: " $tuemail "\r\n";
            
$headers .= "Reply-To: "$tuemail "\r\n";
            
$headers .= "MIME-Version: 1.0\r\n";
            
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
            
mail($emailamigo$asunto$mensaje$headers); 
Alguien podría indicarme qué tengo que modificarle para que no sea exploiteable?
Desde ya les agradezco!!
  #2 (permalink)  
Antiguo 30/08/2011, 12:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Evitar ataques spam en mi sitio

No has tan fácil asegurar un formulario, nada de cambiar una linea y por arte de magia ya está.

Te invito a investigar sobre reCAPTCHA, que te servirá para evitar el envío automatizado de tu formulario.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/08/2011, 13:32
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Evitar ataques spam en mi sitio

Si tu script es tal cual, no se asegura de haber sido llamado previamente por un formulario, puede ser llamado directamente son pasarle ningún parámetro, lo cual hace que al ser llamado intente mandar email sin dirección.

Primero asegúrate de que estás recibiendo algún dato por $_POST, así confirmas que los datos te llegaron de un formulario previo y no pro llamada directa.

Luego, comprueba cada variable que recibas por $_GET o $POST para evitar posibles inserciones de códigos maliciosos.
  #4 (permalink)  
Antiguo 30/08/2011, 13:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Evitar ataques spam en mi sitio

ocp001a, pero aún así un formulario puede ser simulado con cURL o Javascript, lo cual hace que parezca que proviene exactamente de donde el formulario yace.

Por eso la técnica consiste en comprobar que un humano es realmente quien introdujo dichos datos, para eso existe reCAPTCHA y similares.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/08/2011, 13:47
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Evitar ataques spam en mi sitio

Lo sé, pero las indicaciones que puse son lo más simple (y además necesario) que se puede hacer, ya por otro lado, hacer uso únicamente del reCAPTCHA (no mencionaste nada más) seguiría dejando el hueco de que un humano intencionadamente metiera código malicioso.

En otras palabras, pateketrueke, sin menospreciar tu aporte, lo complementé con la sugerencia de la comprobación.
  #6 (permalink)  
Antiguo 30/08/2011, 13:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Evitar ataques spam en mi sitio

Claro, eso es distinto.

Que un usuario supere la prueba del reCAPTCHA no asegura que la dirección de correo que introdujo es real, ¿verdad?

Y bueno... hay muchas otras técnicas más, pero al final todos tratan de demostrar lo mismo: que un humano no haría lo que una máquina si, o al revés.

Al final comprobar la validez de los datos es crucial para nuestros programas, aunque hay veces que nos quedamos cortos al comprobar solo el formato de un e-mail en este caso pues puede complicarse verificar que dicha dirección es 100% real y no un simple fake.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 31/08/2011, 08:31
 
Fecha de Ingreso: octubre-2009
Mensajes: 107
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Evitar ataques spam en mi sitio

Hola, les agradezco tanto a pateketrueke como a ocp001a por sus aportes! Voy a tratar de aplicar todo lo que me dicen y espero se terminen estos ataques de spam.
Lo único que sucede con reCaptcha es que, quienes me pidieron la página, dicen que ocupa mucho lugar y quisieran algo más chico. Voy a investigar si se puede, o conseguir algo similar que ocupe menos espacio.

Gracias nuevamente!!
Saludos!
  #8 (permalink)  
Antiguo 31/08/2011, 11:57
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Evitar ataques spam en mi sitio

Siempre es mejor sacrificar espacio que tiempo eliminando mails indeseados
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #9 (permalink)  
Antiguo 31/08/2011, 13:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 107
Antigüedad: 14 años, 5 meses
Puntos: 2
Respuesta: Evitar ataques spam en mi sitio

Cita:
Iniciado por Uncontroled_Duck Ver Mensaje
Siempre es mejor sacrificar espacio que tiempo eliminando mails indeseados
jaja coincido totalmente, sólo me queda convencer a ellos!.
Muchas gracias!
  #10 (permalink)  
Antiguo 31/08/2011, 13:52
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 12 años, 11 meses
Puntos: 261
Respuesta: Evitar ataques spam en mi sitio

Cita:
Iniciado por potoka Ver Mensaje
[...] sólo me queda convencer a ellos! [...]
Es una buena frase con la que comenzar

En serio, la verdad es que son muchos los sitios que lo han implementado, y es google quien lo soporta. Eso debería de bastar para convencerlos de que es una buena solución.

Suerte, un saludo,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight

Etiquetas: ataques, html, spam
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 12:12.