Foros del Web » Programando para Internet » PHP »

Otro metodo a utilizar para el envio de correos que no se captcha

Estas en el tema de Otro metodo a utilizar para el envio de correos que no se captcha en el foro de PHP en Foros del Web. Hola, tengo una página con un formulario de reservaciones que incluí un código de captcha hace poco tiempo, ya que estaba teniendo problemas con correos ...
  #1 (permalink)  
Antiguo 13/11/2008, 13:28
 
Fecha de Ingreso: septiembre-2007
Mensajes: 73
Antigüedad: 16 años, 7 meses
Puntos: 0
Otro metodo a utilizar para el envio de correos que no se captcha

Hola, tengo una página con un formulario de reservaciones que incluí un código de captcha hace poco tiempo, ya que estaba teniendo problemas con correos basura que llegan atravez del formulario. La cosa es que todavia me llegan correos de éste tipo. Cómo puedo hacer para evitar esto??


Personal information
-----------------------------
Name: zwlpogiz
Email: [email protected]
Phone: EpFjliDVLcuU
Country:
Arrival: DTTkkwGtlm
Departure: KBTRRBDKjf
Adults:
Comments: CkpKz9 <a href=\\\"http://nmypguzorqyq.com/\\\">nmypguzorqyq</a>, uvvickcizpla, [link=http://awgwojqfoifk.com/]awgwojqfoifk[/link], http://pafjbkrqpdlz.com/


Muchas Gracias!!! Por cualquier ayuda
  #2 (permalink)  
Antiguo 13/11/2008, 13:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Otro metodo a utilizar para el envio de correos que no se captcha

de verdad el captcha no sirve??

me gustaría verlo....

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/11/2008, 13:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Otro metodo a utilizar para el envio de correos que no se captcha

No creo que sea por el captcha, más bien estan haciendo un POST directo a tu server pasando el captcha sin que se valide.

Todo depende de como tengas tu código pero sin verlo es difcil.

Saludos.
  #4 (permalink)  
Antiguo 13/11/2008, 14:01
 
Fecha de Ingreso: septiembre-2007
Mensajes: 73
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Otro metodo a utilizar para el envio de correos que no se captcha

Muchas gracias por la respuesta aqui les pongo el código:

Este es el código del captcha
Código PHP:
<?php
session_start
();
function 
randomText($length) {
    
$pattern "1234567890abcdefghijklmnopqrstuvwxyz";
    for(
$i=0;$i<$length;$i++) {
      
$key .= $pattern{rand(0,35)};
    }
    return 
$key;
}

$_SESSION['tmptxt'] = randomText(8);
$captcha imagecreatefromgif("img/bgcaptcha.gif");
$colText imagecolorallocate($captcha000);
imagestring($captcha5167$_SESSION['tmptxt'], $colText);

header("Content-type: image/gif");
imagegif($captcha);
?>

Este es el formulario

Código PHP:


session_start();
if ($_POST['action'] == "checkdata") {
    if ($_SESSION['tmptxt'] == $_POST['tmptxt']) {
        $name = $_POST['name'];
        $email = $_POST['email'];
        $phone = $_POST['phone'];
        $country = $_POST['country'];
        $arrival = $_POST['arrival'];
        $departure = $_POST['departure'];
        $adults = $_POST['adults'];
        $comments = $_POST['comments'];
        
        $to = "[email protected]";
        $header = "From: ".$name ."< ".$email.">";
        $asunto = "Subject: Reservation: ";

        $mensaje = "Personal information \n";
        $mensaje .= "-----------------------------\n";
        $mensaje .= "Name: " .$name."\n";
        $mensaje .= "Email: " .$email."\n";
        $mensaje .= "Phone: " .$phone."\n";
        $mensaje .= "Country: " .$country."\n";
        $mensaje .= "Arrival: " .$arrival."\n";
        $mensaje .= "Departure: " .$departure."\n";
        $mensaje .= "Adults: " .$adults."\n";
        $mensaje .= "Comments: " .$comments."\n";
    
        mail($to, $asunto, $mensaje, $header);
        header("Location: confirmation.php");
    } else {
        $error="Incorrect";
    }
}

[B]///// Formulario[/B]
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="reservation" id="reservation"  >
                      <TABLE width="89%" align=center border=0>
                        <TBODY>
                          <TR> 
                            <TD colSpan=3 height=2></TD>
                          </TR>
                          <TR> 
                            <TD class=descripcion align=right><STRONG>*</STRONG></TD>
                            <TD class=descripcion align=left>Name</TD>
                            <TD align=left><font color="#FFFFFF"> 
                              <input name="name" type="text" class=caja id="name" style="font-size: 8 pt;border: 1 solid #000000" value="<? echo $_POST['name']; ?>" size="30" maxlength="255">
                              </font></TD>
                          </TR>
                          <TR> 
                            <TD colSpan=3 height=2></TD>
                          </TR>
                          <TR> 
                            <TD class=descripcion align=right><STRONG>*</STRONG></TD>
                            <TD class=descripcion 
align=left>Email</TD>
                            <TD align=left><font color="#FFFFFF"> 
                              <input name="email" type="text" class=caja id="email" style="font-size: 8 pt;border: 1 solid #000000" value="<? echo $_POST['email']; ?>" size="30" maxlength="255">
                              </font></TD>
                          </TR>
                          <TR> 
                            <TD colSpan=3 height=2></TD>
                          </TR>
                          <TR> 
                            <TD class=descripcion align=right><STRONG>*</STRONG></TD>
                            <TD class=descripcion align=left>Phone</TD>
                            <TD align=left width="49%"><font color="#FFFFFF"> 
                              <input name="phone" type="text" class=caja id="phone" style="font-size: 8 pt;border: 1 solid #000000" value="<? echo $_POST['phone']; ?>" size="30" maxlength="30">
                              </font> </TD>
                          </TR>
                          <TR> 
                            <TD colSpan=3 height=2></TD>
                          </TR>
                          <TR> 
                            <TD class=descripcion align=right 
                width="3%"><STRONG>*</STRONG></TD>
                            <TD class=descripcion align=left 
                  width="48%">Country</TD>
                            <TD align=left> <p><font color="#FFFFFF"> 
                                <select name=country class=caja id="select">
                                  <option value="Seleccionar">Select </option>
                                </select>
                                </font></p></TD>
                          </TR>
                          <TR> 
                            <TD colSpan=3 height=2></TD>
                          </TR>
                          <TR> 
                            <TD class=descripcion>*</TD>
                            <TD class=descripcion align=left>Arrival date</TD>
                            <TD align=left valign="middle"> <input name="arrival" type="text"  id="arrival" style="font-size: 8 pt;border: 1 solid #000000" onClick="popUpCalendar(this, reservation.arrival, 'yyyy-mm-dd');" value="<? echo $_POST['arrival']; ?>" size="10" maxlength="10"/ > 
                            </TD>
                          </TR>
                          <TR> 
                            <TD colSpan=3 height=2></TD>
                          </TR>
                          <TR> 
                            <TD height="23" class=descripcion><STRONG>*</STRONG></TD>
                            <TD class=descripcion align=left>Departure date</TD>
                            <TD valign="middle"> <p><font color="#FFFFFF"> 
                                <input name="departure" type="text"  id="departure" style="font-size: 8 pt;border: 1 solid #000000" onClick="popUpCalendar(this, reservation.departure, 'yyyy-mm-dd');" value="<? echo $_POST['departure']; ?>" size="10" maxlength="10"/ >
                                <input name="fecha" TYPE="hidden" id="fecha" value="<? echo $fecha;?>">
                                </font><font color="#FFFFFF"> </font></p></TD>
                          </TR>
                          <TR> 
                            <TD class=descripcion>*</TD>
                            <TD class=descripcion align=left>Adults</TD>
                            <TD align=left><SELECT name=adults id="select9">
                                <option value="0">0</option>
                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                                <option value="4">4</option>
                                <option value="5">5</option>
                                <option value="6">6</option>
                                <option value="7">7</option>
                                <option value="8">8</option>
                              </SELECT></TD>
                          </TR>
                          <TR> 
                            <TD class=descripcion>&nbsp;</TD>
                            <TD class=descripcion align=left>Comments</TD>
                            <TD align=left><font color="#FFFFFF"> 
                              <textarea input type="text" name="comments" cols="30" rows="4" id="textarea4" style="font-size: 8 pt;border: 1 solid #000000"><? echo $_POST['comments']; ?></textarea>
                              </font></TD>
                          </TR>
                          <TR> 
                            <TD class=descripcion>&nbsp;</TD>
                            <TD class=descripcion align=left>Image</TD>
                            <TD align=left><img src="captcha.php" width="100" height="30" vspace="3"></TD>
                          </TR>
                          <TR>
                            <TD class=descripcion>*</TD>
                            <TD class=descripcion align=left>Characters</TD>
                            <TD class="error" > 
                              <input name="tmptxt" type="text" style="font-size: 9 pt;border: 1 solid #000000" size="15" maxlength="8">
                              <? echo $error?> </TD>
                          </TR>
                          <TR> 
                            <TD colSpan=3 height=19><input name="action" type="hidden" value="checkdata">
                              <input name="foco" type="hidden" id="foco" value="<? echo $error?>"> 
                            </TD>
                          </TR>
                          <TR> 
                            <TD colSpan=3 height=26> <div align="center"> 
                                <input type="button" name="Button" value="  Send    " class=bottom style=" background-color: #ffffff; color: #000000; font-family: Verdana; font-size: 7 pt; border: 1 solid #000000"onClick="javascript:required();">
                                <input type="reset" name="Submit2" value="  Clear " class=bottom style=" background-color: #ffffff; color: #000000; font-family: Verdana; font-size: 7 pt; border: 1 solid #000000">
                              </div></TD>
                          </TR>
                        </TBODY>
                      </TABLE>
                    </form>
  #5 (permalink)  
Antiguo 13/11/2008, 14:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Otro metodo a utilizar para el envio de correos que no se captcha

Si es muy vulnerable tu script, ya que, que pasa si alguien pasa una cadena vacia a $_POST['tmptxt']? Entraria al captcha sin ningún problema.

Saludos.
  #6 (permalink)  
Antiguo 13/11/2008, 18:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 73
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Otro metodo a utilizar para el envio de correos que no se captcha

Me podrias explicar cómo podria hacer para mejorar el script... Si no es mucha la molestia

Muchas gracias!!
  #7 (permalink)  
Antiguo 13/11/2008, 18:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Otro metodo a utilizar para el envio de correos que no se captcha

usa un captcha mas profesional... a mi me gusta mucho Securimage

y es muy fácil, seguro... suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 17:30.