Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/03/2011, 00:55
ZeThito
 
Fecha de Ingreso: septiembre-2010
Mensajes: 147
Antigüedad: 13 años, 7 meses
Puntos: 3
Respuesta: Problema con Inyección SQL!

Dejaré mi código, haber si alguien descubre mi problema =(

Recibo los Datos :

Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. date_default_timezone_set("America/Santiago");
  4.  
  5.     include_once('../modelo/Publicar.php');
  6.    
  7.     if(isset($_SESSION['Random']) == isset($_POST['math']) && isset($_POST['idCiudad']) && isset($_POST['idCategoria'])){
  8.  
  9.     $idCiudad                           = strip_tags((int)$_POST['idCiudad']);
  10.     $idComuna                           = strip_tags((int)$_POST['idComuna']);
  11.     $idCategoria                        = strip_tags((int)$_POST['idCategoria']);
  12.     $idSubcategoria                     = strip_tags((int)$_POST['idSubcategoria']);
  13.        
  14.     $nombre                             = strip_tags(str_replace(array( '@', '¬', '/', '&', '%' ), '', $_POST['nombre']));
  15.     $email                              = strtolower(strip_tags($_POST['email']));
  16.     $telefono                           = strip_tags((int)$_POST['telefono']);
  17.     $titulo                             = strip_tags(str_replace(array( '@', '¬', '/', '&', '%' ), '',$_POST['titulo']));
  18.     $contenido                          = $_POST['contenido'];
  19.     $precio                             = strip_tags(floatval($_POST['precio']));
  20.     $tipo                               = strip_tags((int)$_POST['tipo']);
  21.     $tiempo                             = date("Y-m-d H:i:s",time());
  22.     $imagen                             = 'QsXzxcCsDvfD.png'
  23.     $random                             = rand(123456789,987654321);
  24.  
  25.    
  26.        
  27.         // Metodo para registrar una publicación.
  28.         $metodo = new Publicar;
  29.         $metodo->setPublicaciones(
  30.                                     $idCiudad,
  31.                                     $idComuna,
  32.                                     $idCategoria,
  33.                                     $idSubcategoria,
  34.                                     $nombre,
  35.                                     $email,
  36.                                     $telefono,
  37.                                     $titulo,
  38.                                     $contenido,
  39.                                     $precio,
  40.                                     $tipo,
  41.                                     $tiempo,
  42.                                     $imagen,
  43.                                     $random
  44.                                 );
  45.        
  46.         session_unset();
  47.         session_destroy();
  48.        
  49.  
  50.            
  51.     }else{
  52.             header('refresh: 0; url = /web/');
  53.     }
  54. ?>



Metodo para hacer el INSERT en MySQL.

Código PHP:
Ver original
  1. // Método que hace inserción de una publicacion.
  2.         public function setPublicaciones($idCiudad,$idComuna,$idCategoria,$idSubcategoria,$nombre,$email,$telefono,$titulo,$contenido,$precio,$tipo,$tiempo,$imagen,$random){
  3.            
  4.             try{
  5.                 //Instanciamos la Clase Conexion para MySQL.
  6.                 $dbConectar     = new Conexion;
  7.                 $dbCon          = $dbConectar->conectarClasico();
  8.                
  9.                 if($idComuna == 0) $idComuna = 'NULL';
  10.            
  11.                
  12.                 $this->SQL      = "INSERT INTO `publicaciones` VALUES(
  13.                                                                         '',
  14.                                                                         \"" .mysql_real_escape_string($idCiudad). "\",
  15.                                                                         $idComuna,
  16.                                                                         \"" .mysql_real_escape_string($idCategoria). "\",
  17.                                                                         \"" .mysql_real_escape_string($idSubcategoria). "\",
  18.                                                                         \"" .mysql_real_escape_string($nombre). "\",
  19.                                                                         \"" .mysql_real_escape_string($email). "\",
  20.                                                                         \"" .mysql_real_escape_string($telefono). "\",
  21.                                                                         \"" .mysql_real_escape_string($titulo). "\",
  22.                                                                         \"" .mysql_real_escape_string($contenido). "\",
  23.                                                                         \"" .mysql_real_escape_string($precio). "\",
  24.                                                                         \"" .mysql_real_escape_string($tipo). "\",
  25.                                                                         \"" .mysql_real_escape_string($tiempo). "\",
  26.                                                                         \"" .mysql_real_escape_string($imagen). "\",
  27.                                                                         \"" .mysql_real_escape_string($random). "\"
  28.                                                                     )";
  29.                                                        
  30.                 mysql_query($this->SQL,$dbCon) or die(mysql_error());
  31.            
  32.                 //Cerramos conexion.
  33.                 mysql_close($dbCon);
  34.                
  35.             }catch(Exception $e){
  36.                 //Cerramos conexion.
  37.                 mysql_close($dbCon);
  38.                
  39.                 return $e;
  40.             }
  41.         }