Foros del Web » Programando para Internet » PHP »

Prevenir SQL Injection en Matriz POST

Estas en el tema de Prevenir SQL Injection en Matriz POST en el foro de PHP en Foros del Web. Buenas tardes, Es bien sabido que es necesaria la utilización de mysql_real_escape_string() para asegurar el contenido de una variable antes de introducirla en una base ...
  #1 (permalink)  
Antiguo 16/07/2008, 17:24
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Prevenir SQL Injection en Matriz POST

Buenas tardes,

Es bien sabido que es necesaria la utilización de mysql_real_escape_string() para asegurar el contenido de una variable antes de introducirla en una base de datos.

La situación que se me presenta es que en mis matrices $_POST y $_SESSION contengo una gran cantidad de variables, todas ellas para ser insertadas en una base de datos.

Existe alguna clase o función que sea confiable para que reciba las dos matrices y les aplique el mysql_real_escape_string() a cada variable para despues poderlas insertar de manera segura?

Mil gracias
__________________
Desdichado quien duerme en la mañana
  #2 (permalink)  
Antiguo 16/07/2008, 17:49
 
Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Prevenir SQL Injection en Matriz POST

Código PHP:
foreach($_POST as $clave => $variable) {
  if (
get_magic_quotes_gpc()) $variable stripslashes($variable);
  
$_POST[$clave] = mysql_real_escape_string($variable);

Quedaría hacer lo mismo para $_SESSION, aunque en realidad no hace falta porque se almacenan en el lado del servidor. Otra cosa sería si fueran cookies en vez de sesiones.
  #3 (permalink)  
Antiguo 16/07/2008, 17:50
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Respuesta: Prevenir SQL Injection en Matriz POST

Perfecto!
Gracias
__________________
Desdichado quien duerme en la mañana
  #4 (permalink)  
Antiguo 16/07/2008, 17:58
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Respuesta: Prevenir SQL Injection en Matriz POST

mmmm, se me presenta una situación con la solución planteada. Dentro de la matriz $_POST existen algunas posiciones que son vectores, para los cuales recibo un warning alertandome que mysql_real_escape_string() estaba esperando un string y recibió un array(). No quisiera que este array se quedara sin ser filtrado.

Alguna sugerencia?
__________________
Desdichado quien duerme en la mañana
  #5 (permalink)  
Antiguo 16/07/2008, 18:00
 
Fecha de Ingreso: abril-2004
Mensajes: 154
Antigüedad: 20 años
Puntos: 0
Respuesta: Prevenir SQL Injection en Matriz POST

se me ocurre que depronto utilizando la función is_array() de manera recursiva podría seguir iterando con foreach...

Que dicen?
__________________
Desdichado quien duerme en la mañana
  #6 (permalink)  
Antiguo 16/07/2008, 18:02
 
Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Prevenir SQL Injection en Matriz POST

Exactamente :)
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 10:04.