Foros del Web » Programando para Internet » PHP »

Pequeño GRAN problema

Estas en el tema de Pequeño GRAN problema en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/11/2009, 08:49
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 8 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 =)
  #2 (permalink)  
Antiguo 25/11/2009, 10:17
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Pequeño GRAN problema

Por que haces
$subject1=$descripcion2;
al principio de la funcion?
Eso no causa que $subject1 se vuelva vacia (ya que $descripcion2 no esta definida) y nunca va entrar al if porque no va encontrar los caracteres prohibidos en una cadena vacia
  #3 (permalink)  
Antiguo 26/11/2009, 05:06
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Pequeño GRAN problema

Sip, era eso, la verdad no me di cuenta cuando lo arme, y sabes que es lo peor de todo? Hace un tiempo laaargo que tengo ese codigo implementado en otra web con ese error! la verdad se me paso por alto!

Muchas gracias!
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 15:57.