Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2009, 08:49
kadas99
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 9 meses
Puntos: 4
Pequeño GRAN problema

Buenas chicos!

Seguro pensaran "Q bolu** este flaco, si el problema es pequeño, no es grande!". Pero estan en un error, es un problema de inexperiencia (por esto lo de pequeño) que supone un problema de seguridad (GRAN problema) =)

Es asi. tengo en un formulario validacion javascript, y despues cuando envia el formulario hago la validacion en php, pero el problema es que estoy enviando alrededor de 7 u 8 campos, los cuales quiero validar todos, pero no quiero tener que hacerlos 1 por 1, entonces, hize una funcion en la cual pasar los datos y ver si son correctos o no. Les muestro el codigo.

validar.php
Código:
function validar($subject1)
{$subject1=$descripcion2;
$prohibido = array

('<','>');


for($i=0;$i<sizeof($prohibido );$i++){
if(strstr($subject1, $prohibido [$i])){
unset($subject1);
die("Se han encontrado caracteres invalidos.");}}
return($subject1);
}
y en la pagina donde hago la validacion hago esto.

do_register.php

Código:
require("validar.php");
Código:
if(!isset($_POST['name']) or ($_POST['name'] == NULL))
{$errors .="Error ingresando el Nombre. <br />";}
else
{$name=mysql_real_escape_string($_POST['name']);}

Código:
validar($name);

entonces, deberia darme error cuando se registran utilizando estos caracteres "<" y ">", pero no lo hace, los deja registrase!

mi pregunta es, ¿En que estoy errando?

otra cosa, La validacion que quiero hacer ¿La hace tmb mysql_real_escape_string?

Un abrazo! y gracias de antemanO =)