Foros del Web » Programando para Internet » PHP »

spam por formulario html?

Estas en el tema de spam por formulario html? en el foro de PHP en Foros del Web. Hola amigos: Acabo de detectarlo. Tengo un script php que maneja un formulario para enviar mensajes. Hace unos momentos recibi 7 mensajes a la vez... ...
  #1 (permalink)  
Antiguo 11/10/2006, 00:05
Avatar de dplweb  
Fecha de Ingreso: enero-2002
Mensajes: 74
Antigüedad: 22 años, 3 meses
Puntos: 0
spam por formulario html?

Hola amigos:
Acabo de detectarlo.
Tengo un script php que maneja un formulario para enviar mensajes.
Hace unos momentos recibi 7 mensajes a la vez... obviamente spam ¿es posible?
Entre los encabezados dice ademas de varios bcc en cada mensaje

1) X-Mailer: Internet Mail Service (5.5.2655.55)
2) X-Mailer: Internet Mail Service (5.5.2655.55)
3) X-Mailer: Novell GroupWise Internet Agent 6.0.1
4) X-Mailer: | X-mailer: Pegasus Mail for Win32 (v3.12c)
5) X-Mailer: Novell GroupWise 5.5.5
6) X-Mailer: Novell GroupWise Internet Agent 6.0.1

Los mails van a una cuenta en yahoo.com (webmaster) y a otro en gmail (cliente)

¿Es posible que un programa se meta en los campos de formulario y haga esto?

Ademas, veo que en varios de ellos el remitente es una cuenta (?) cuyo dominio es el del organismo de mi cliente.

Utilizamos CPanel para la administracion, una cuenta en servidor compartido (barato).
Hay alguna solucion por medio de modificar el script o no se puede arreglar?

Muchas gracias.
Saludos.
__________________
...webmastereando por la vida...
  #2 (permalink)  
Antiguo 11/10/2006, 07:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
¿Es posible que un programa se meta en los campos de formulario y haga esto?
Si, .. apuntan otros scripts de otros servidores o clientes en general a tus própios scripts de proceso directamente sin pasar por tu "formulario".

Cita:
Hay alguna solucion por medio de modificar el script o no se puede arreglar?
Si no indicas el código que usas, no sabemos que tipo de "validaciones" haces. Supongo que ninguna más allá de las típicas de validación de que existan tus variables del formulario (obligatorias) en tu script PHP de proceso.

De momento .. revisa estos documentos y aplicalos:

Validación direcciones de e-mail para evitar "inyección" de códigos extra fuera de la dirección de e-mail que se solicita:
http://www.gerd-riesselmann.net/arch...-contact-forms

Otros métodos de seguridad extra pasan por usar "Captcha" en tus formularios:
http://www.forosdelweb.com/showpost....&postcount=123

Revisa estos temas sobre seguridad en general (aplicada a PHP):
http://phpsec.org/projects/guide/

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 12/10/2006, 12:02
Avatar de dplweb  
Fecha de Ingreso: enero-2002
Mensajes: 74
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola
Disculpen que no haya puesto el codigo fuente.
Ahora mismo no puedo, mas tarde sí.
Gracias por la documentación.
Saludos.
__________________
...webmastereando por la vida...
  #4 (permalink)  
Antiguo 13/10/2006, 10:27
Avatar de dplweb  
Fecha de Ingreso: enero-2002
Mensajes: 74
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola aqui va el codigo:
aun no he leido los documentos sugeridos.
Pero aun sigue llegando spam.
Un datalle: nosotros no usamos en el formulario el mail por defecto que trae la cuenta, sino uno de gmail. De hecho no esta en ninguna parte del sitio web.
funcion PHP email(0) imprime el mail del cliente tal cual.

Gracias de antemano


Código PHP:
<?
if ($_SERVER['REQUEST_METHOD'] == "POST") {
    
$nombre        $_POST[nombre];
    
$email        $_POST[email];
    
$asunto        $_POST[asunto];
    
$mensaje    stripslashes($_POST[mensaje]);
    
    
$mensajeOK "GRACIAS POR ENVIAR SU MENSAJE.<br>RECIBIR&Aacute; UNA RESPUESTA TAN PRONTO COMO SEA POSIBLE.";
    
$mensajeERROR "OCURRI&Oacute; UN ERROR AL PROCESAR SUS DATOS.<br>EL MENSAJE NO FUE ENVIADO.";

    
$email_colmevet "(email del cliente)";
    
$email_webmaster "(email webmaster)";
    
$dia date("j/m/Y");
    
$hora date("H:i:s");
    
$encabezado "[COLMEVET]: ";
    
$redireccion "gracias.php";
    
$destino "(nombre cliente)";
    
$cabeceras "From: $email\nReply-To: $email\nBCC: $email_webmaster\nX-Mailer: PHP/".phpversion();
    
$cuerpo "
Dia: $dia
Hora: $hora
===================================================
Para: "
.$destino."
===================================================
Remitente: "
.$nombre."
E-mail: "
.$email."
Asunto: "
.$encabezado." ".$asunto."
Mensaje: 

"
.$mensaje."

===================================================
Mensaje desde el sitio web de COLMEVET
"
;
    
$envio = @mail($email_colmevet$encabezado.$asunto$cuerpo$cabeceras);
} else { }
// no se envio por formulario
?>
Código HTML:
<DIV CLASS="contDireccion">
(direccion del cliente)<BR>
Tel&eacute;fonos: (telefonos)<BR>
Fax: (fax)<BR>
Correo electr&oacute;nico: <A HREF="mailto:<? print email(0); ?>" CLASS="creditosLink"><? print email(0); ?></A>
</DIV> 
Código PHP:
<?
if ($envio) { // envio correcto
    
print "<DIV ALIGN=\"center\" CLASS=\"contOK\">".$mensajeOK."</DIV>";
} else { 
// error en envio
    
print "<DIV ALIGN=\"center\" CLASS=\"contError\">".$mensajeERROR."</DIV>";
}
?>
Código HTML:
<DIV CLASS="contTituloForm">Formulario de mensajes</DIV>
<DIV STYLE="font-size:11px ">Los campos marcados con <SPAN STYLE="color:#FF0000; font-size:12px; font-weight:bold ">*</SPAN> deben ser completados obligatoriamente para que el formulario sea enviado.</DIV>

<FORM NAME="contacto" METHOD="POST" ACTION="?t=contacto">
<TABLE BORDER="0" ALIGN="CENTER" CELLPADDING="0" CELLSPACING="5" SUMMARY="">
<TR VALIGN="TOP">
<TD CLASS="contDatosForm" WIDTH="80" ALIGN="RIGHT">De:</TD>
<TD><INPUT TYPE="text" NAME="nombre" VALUE="<? if (!$envio) { print $_POST[nombre]; } ?>" CLASS="contDatosInput"></TD>
<TD STYLE="color:#FF0000; font-size:12px; font-weight:bold ">*</TD>
</TR>
<TR VALIGN="TOP">
<TD CLASS="contDatosForm" WIDTH="80" ALIGN="right">E-mail:</TD>
<TD><INPUT TYPE="text" NAME="email" VALUE="<? if (!$envio) { print $_POST['email']; } ?>" CLASS="contDatosInput"></TD>
<TD STYLE="color:#FF0000; font-size:12px; font-weight:bold ">*</TD>
</TR>
<TR VALIGN="TOP">
<TD CLASS="contDatosForm" WIDTH="80" ALIGN="right">Asunto:</TD>
<TD><INPUT TYPE="text" NAME="asunto" VALUE="<? if (!$envio) { print $_POST['asunto']; } ?>" CLASS="contDatosInput"></TD>
</TR>
<TR VALIGN="TOP">
<TD CLASS="contDatosForm" WIDTH="80" ALIGN="right">Mensaje:</TD>
<TD><TEXTAREA COLS="40" ROWS="5" NAME="mensaje" CLASS="contDatosTextArea"><? if (!$envio) { print $_POST['mensaje']; } ?></TEXTAREA></TD>
<TD STYLE="color:#FF0000; font-size:12px; font-weight:bold ">*</TD>
</TR>
<TR VALIGN="TOP">
<TD VALIGN=top><INPUT NAME="enviar" TYPE="submit" onClick="MM_validateForm('nombre','','R','email','','RisEmail','mensaje','','R');return document.MM_returnValue" VALUE="ENVIAR"></TD>
<TD VALIGN=top><INPUT TYPE="reset" NAME="borrar" VALUE="Limpiar"><INPUT TYPE="hidden" NAME="env" VALUE="1"></TD>
</TR>
</TABLE>
</FORM> 
__________________
...webmastereando por la vida...
  #5 (permalink)  
Antiguo 13/10/2006, 10:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Te invito a que busques en las FAQs sobre codigos CAPTCHA para evitar SPAM en las formas de correo.
  #6 (permalink)  
Antiguo 13/10/2006, 14:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. lo dicho, debes leer la documentación que te indiqué. El código que usas es "standard" no validas nada sobre la dirección de correo que pueden introdudir a traves de tu formulario.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 13/10/2006, 22:41
Avatar de dplweb  
Fecha de Ingreso: enero-2002
Mensajes: 74
Antigüedad: 22 años, 3 meses
Puntos: 0
Ok..
las he leido pero tengo que verlas con calma
debo admitir que debo aprender mucho sobre php aun.
cada dia aprendo algo nuevo.
saludos.
__________________
...webmastereando por la vida...
  #8 (permalink)  
Antiguo 22/11/2007, 15:56
Avatar de Tilens  
Fecha de Ingreso: febrero-2007
Ubicación: España
Mensajes: 41
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: spam por formulario html?

hola, tengo una duda, el spam solo se puede hacer inyectanto codigo en la cabecera de la función mail verdad, si no se usan los valores del post en la cabecera no pasa nada verdad.
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 16:13.