Hola a todos:
Por favor agradezco la ayuda de toda la comunidad y todas las personas que sepan sobre el tema.
Tengo un problema con una de mis consultas MySQL en una pagina PHP, tenemos que cumplir con el estandar PCI. Y la entidad la cual hace el scan de la pagina nos dice que ahi riesgo de SQL inyeccion en dicha pagina.
he investigado acerca del tema y ya hise dos correcciones con el mysql_escape_string. Pero ninguna me ha funcionado y al hacer el scan de la pagina vuelve y sale la vulnerabilidad con esta pagina especificamente.
Les muestro el codigo:
<?php $_GET["IDvar"];
function cleanQuery($string)
{
if(get_magic_quotes_gpc()) // prevents duplicate backslashes
{
$string = stripslashes($string);
}
if (phpversion() >= '4.3.0')
{
$string = mysql_real_escape_string($string);
}
else
{
$string = mysql_escape_string($string);
}
return $string;
}
// if you are using form data, use the function like this:
if (isset($_GET["IDvar"])) $itemIDv = cleanQuery($_GET["IDvar"] && isset($_SESSION["IDSe"])) $itemSe = cleanQuery($_SESSION["IDSe"]);
// you can also filter the data as part of your query:
$DeleteV = mysql_query("DELETE FROM registros WHERE IDVAR = '". cleanQuery($itemIDv)."' AND sesionvar = '". cleanQuery($itemSe)."' "; ?>
Esta mañana fui a hacer una prueba en la pagina y me arrojo error, lo voy a examinar a ver que paso. Pero mi problema en si esta es por el SQL inyeccion y que me han rechazado ya 2 veces.
GRACIAS Y EXITOS