Bueno desde entonces empecé a buscar formas de corregir este problema y encontré una función que debía aplicar en todas mis sentencias SQL cuando envió parámetros.
Entonces aplique esta función:
Código SQL:
Ver original
INSERT INTO `publicaciones` VALUES( '', \"" .mysql_real_escape_string($idCiudad). "\", $idComuna, \"" .mysql_real_escape_string($idCategoria). "\", \"" .mysql_real_escape_string($idSubcategoria). "\", \"" .mysql_real_escape_string($nombre). "\", \"" .mysql_real_escape_string($email). "\", \"" .mysql_real_escape_string($telefono). "\", \"" .mysql_real_escape_string($titulo). "\", \"" .mysql_real_escape_string($contenido). "\", \"" .mysql_real_escape_string($precio). "\", \"" .mysql_real_escape_string($tipo). "\", \"" .mysql_real_escape_string($tiempo). "\", \"" .mysql_real_escape_string($imagen). "\", \"" .mysql_real_escape_string($random). "\" )";
Bueno está función no me arroja error y registra normalmente mi anuncio.
Luego volví al programita (acunetix) y aplique Start... Y bueno volvieron aparecer las vulnerabilidades Inyection SQL, y sucedió lo mismo, "puedo hacer inyecciones sql masiva e insertar miles de publicaciones.
No sé cómo puedo arreglar esto, ya que he aplicado lo que encontré sobre los escapes en las comillas, pero no paso nada. =/
Dejo mí un trozo de mi código donde valida un poco, ya que de todas formas en la página donde tengo el formulario valida todos los campos con jquery y además tiene un captcha, aún así se puede hacer estas inyecciones vía POST.
Código PHP:
Ver original
$idCiudad = $_POST['idCiudad']; $idComuna = $_POST['idComuna']; $idCategoria = $_POST['idCategoria']; $idSubcategoria = $_POST['idSubcategoria']; $telefono = $_POST['telefono']; $contenido = $_POST['contenido']; $precio = $_POST['precio']; $tipo = $_POST['tipo']; $archivo = $_FILES['file']['tmp_name'];
Una Foto del programa, donde marco el boton Start y me realiza las miles de Inyecciones SQL a mi Base de datos...
![](http://img339.imageshack.us/img339/7779/anuncios.png)
Espero que alguién sepa como corregir esto y me ayuda, saludos!!