Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/10/2007, 17:57
Avatar de franquero
franquero
 
Fecha de Ingreso: julio-2005
Mensajes: 179
Antigüedad: 19 años, 8 meses
Puntos: 1
Clase seguridad en formularios

Buenas.

A raíz de problemas de spam en un formulario, encontré por la red algunas soluciones, y ya que estoy intentando aprender a crear clases, creé ésta para aplicarla a mis formularios:

Código PHP:
<?php
class seguridad {
    
    var 
$ataques = array();
    
    
/* metodos */
    
function sec_saltos($nombre,$valor)  {
        
$valor urldecode($valor);
        if (
eregi("\r",$valor) || eregi("\n",$valor)){
            
$this->ataques[] = "Posible email injection en campo $nombre";
        }
    }
    
    function 
sec_cadenas($campo) {
        
//agregamos todas las cadenas maliciosas
        
$array_no_permitir[0]="Content-Type";
        
$array_no_permitir[1]="Content-Transfer-Encoding";
        
$array_no_permitir[2]="text/html";
        
$array_no_permitir[3]="MIME-Version:";
        
$array_no_permitir[4]="Return-path:";
                
$array_no_permitir[5]="Subject:";
        
$array_no_permitir[6]="From:";
                
$array_no_permitir[7]="Envelope-to:";
        
$array_no_permitir[8]="To:";
                
$array_no_permitir[9]="bcc:";
        
$array_no_permitir[10]="cc:";
        
$array_no_permitir[11]="Body:";
        
$array_no_permitir[12]="url";
        
$array_no_permitir[13]="[url]:";
        
            
//Comprobamos que ninguna de estas cadenas esté en la variable $_POST
            
$total=count($array_no_permitir);
                for(
$i=0;$i<$total;$i++){
                    if (
eregi($array_no_permitir[$i],$_POST[$campo])) {
                            
$this->ataques[] = "El campo $campo no puede contener: " $array_no_permitir[$i];
                    }
                }
    }
    
    function 
escaneo() {
        return 
$this->ataques;
    }
}
?>
¿Qué grado de seguridad le pondríais de 0 a 10?
¿Existe alguna clase ya creada para este fin?

(También he leído sobre Captcha y sql injection)

Muchas gracias por las respuestas
__________________
Es una suerte que la sociedad libre sea más productiva, porque de no haberlo sido jamás se habría tolerado.