Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/01/2010, 14:13
Avatar de SergeMedina
SergeMedina
 
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 8 meses
Puntos: 20
Respuesta: Mi clase de Mysql_query

Claro.

Supon que alguien en tu web introduce la siguiente cadena: '; TRUNCATE PORTAFOLIO_CATEGORIAS;. PHP lo ejecutaria asi:

Código PHP:
Ver original
  1. $sql = "INSERT INTO PORTAFOLIO_CATEGORIAS (NOMBRE_CATEGORIA) VALUES ('"';  TRUNCATE PORTAFOLIO_CATEGORIAS;"

Por lo tanto debes de sanitizar la entrada con alguna función que te evite el SQL Injection, para mysql esta la de mysql_real_escape_string.

Puedes hacer esto:

Código PHP:
Ver original
  1. $cleanData = array();
  2. foreach($_POST as $k => $v) {
  3.     $cleanData[$k] = mysql_real_escape_string($v);
  4. }
  5.  
  6. //y en el query:
  7. $sql = "INSERT INTO PORTAFOLIO_CATEGORIAS (NOMBRE_CATEGORIA) VALUES ('".cleanData['NombreCategoria']."')"

Adicionalmente a eso, haria validacion de tipos de datos, si esperas cadenas, numeros, emails, etc filtra el contenido que te llegue mediante las funciones de filter de php.
__________________
I see dead pixels