Foros del Web » Programando para Internet » PHP »

Seguridad para formulario

Estas en el tema de Seguridad para formulario en el foro de PHP en Foros del Web. Hola a todos, tengo un formulario de contacto en mi web: Código PHP: <?php                  ///////Configuración/////                  $mail_destinatario  =  '[email protected]' ;                  ///////Fin configuración//                        ...
  #1 (permalink)  
Antiguo 12/04/2011, 10:36
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años, 1 mes
Puntos: 0
Seguridad para formulario

Hola a todos, tengo un formulario de contacto en mi web:

Código PHP:
<?php
                
///////Configuración/////
                
$mail_destinatario '[email protected]';
                
///////Fin configuración//
     
                
if (isset ($_POST['enviar'])) {
                
$headers .= "From: ".$_POST['email']. "rn";
                if ( 
mail ($mail_destinatario$_POST['asunto'], "Nombre: ".$_POST['nombre']."
                Asunto: "
.stripcslashes ($_POST['asunto'])."
                Mensaje : "
.stripcslashes ($_POST['mensaje']), $headers )) echo '
     
                Su mensaje a sido enviado correctamente. Gracias por contactar con nosostros
     
                '
;
     
                else echo 
'
     
                Error al enviar el formulario. Por favor, inténtelo de nuevo mas tarde.
     
                '
; }
     
                echo 
'
                    <div id="contacto">
                    <center><form name="contacto" action="?" method="post" >
                        <table>
                            <tr>
                                <td><label>Nombre:</label></td>
                                <td><input name="nombre" type="text" class="campo" maxlength="300"></td>
                            </tr>
                            <tr> 
                                <td><label>E-mail:</label></td>
                                <td><input name="email" type="text" class="campo" maxlength="300"></td>
                            </tr>
                            <tr> 
                                <td><label>Asunto:</label></td>
                                <td><input name="asunto" type="text" class="campo" maxlength="300"></td>
                            </tr>
                            <tr> 
                                <td><label>Mensaje:</label></td>
                                <td><textarea name="mensaje" class="texto" maxlength="5000"></textarea></td>
                            </tr>                                                 
                        </table>
                                <button name="enviar" type="submit" value="Enviar" class="enviar">
                    </center>
                    </form>
                    '
;
                    
?>
Pero no es nada seguro ya que permite enviarlo vacio, y enviarlo todas las veces que quieras, creo que me podrian tumbar la pagina de ese modo... me gustaria ponerle algo que no dejase enviarlo si algun campo esta vacio y ademas que pida un captcha antes de enviar, como puedo hacer eso?
  #2 (permalink)  
Antiguo 12/04/2011, 10:43
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: Seguridad para formulario

para el captcha utiliza recaptcha que a mi me parece bueno y sencillo de utilizar,

para validar usa

Código PHP:
Ver original
  1. if ($_POST['campo'] == ""){
  2. echo "Llene los campos.";
  3. }else{
  4. // aqui codigo de envio;
  5. }

Y para que no envíen varias veces pues crea algo como una cookie con la IP de el que envía y si esta cookie existe pues le dice que ya envío una vez que tiene que esperar 10 años para enviar de nuevo como rapidshare.

x)
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 12/04/2011, 12:14
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Seguridad para formulario

Vale, gracias. Mirare eso del recaptcha
  #4 (permalink)  
Antiguo 12/04/2011, 13:58
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Seguridad para formulario

Tambien cuando recibas variables siempre trata de usar:

Código PHP:
Ver original
  1. if (isset ($_POST['mensaje']) && !empty($_POST['mensaje']))

Y en el lado del cliente tambien puedes asegurar con validaciones, el jquery te puede ayudar mucho.

Saludos
Gildus
__________________
.: Gildus :.

Etiquetas: seguridad, formulario
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 06:37.