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