Hola amigos, descargue el web securify scaner, y el sistema me muestra algunos errores, pero entre los mas importantes al momento es la inyeccion de codigo Sql que se puede hacer en estas direcciones
Código PHP:
lc.php?articulo=1&pagina=1&ordenar=%22'%3CXPLZ6%3E HTTP/1.1
lc.php?articulo=1&ordenar=%20fecha%20DESC%20&pagina=%22'%3CXPLZ6%3E HTTP/1.1
mi código es el siguiente:
Código PHP:
$registros = 30;
$pagina = stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET['pagina'])));
$id = stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET['articulo'])));
$estado = stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET['estado'])));
$ordenar = stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET['ordenar'])));
$sentencia = "";
$titulo = "Esta buscando ";
if($ordenar == ""){
$ordenar = " fecha DESC ";
}else{
if($ordenar == "desendente"){
$ordenar = " precio DESC ";
}else{
if($ordenar == "ascendente"){
$ordenar = " precio ASC ";
}else{
if($ordenar == "nuevo"){
$ordenar = " fecha DESC ";
}else{
if($ordenar == "antiguo"){
$ordenar = " fecha ASC ";
}
}
}
}
}
if($estado != ""){
$estado = mysql_real_escape_string($estado);
$sentencia = $sentencia." condicion ='$estado' AND ";
$titulo = $titulo." en condicion \"".$estado."\"";
}
$pagina = stripslashes(mysql_real_escape_string(htmlspecialchars(@$_GET["pagina"])));
if (@!$pagina)
{
$inicio = 0;
$pagina = 1;
} else {
$inicio = ($pagina - 1) * $registros;
}
// ------------------- Filtros -------------------------------
echo "<div id=\"filtros\">";
echo "<table align=\"center\" style=\"width: 1000px; height:20px;\" ><tr>";
echo "<td><a href=\"lc.php?";
if (@$id != ""){ echo "articulo=".$id."&";}
if (@$estado != ""){ echo "estado=".$estado."&";}
if (@$ordenar != ""){ echo "ordenar=".$ordenar."&";}
if (@$pagina != "") { echo "pagina=".$pagina."&";}
echo " \">Listado</a> | <a href=\"lc_1.php?";
if (@$id != ""){ echo "articulo=".$id."&";}
if (@$estado != ""){ echo "estado=".$estado."&";}
if (@$ordenar != ""){ echo "ordenar=".$ordenar."&";}
if (@$pagina != "") { echo "pagina=".$pagina."&";}
echo " \">Galería </a></td>";
echo "<form name=\"filtros\" id=\"filtros\">";
if(@$_GET["estado"] == ""){
echo "<td>Condiciòn: </td><td>";
echo "<select name=\"estado\" id=\"estado\" onChange=\"url2(document.getElementById('estado').value)\">";
echo "<option value=\"\"></option>";
echo "<option value=\"Nuevo\" >Nuevo</option>";
echo "<option value=\"Usado\" >Usado</option>";
echo "</select></td>";
}else{
echo "<td><a href=\"lc.php?";
if (@$id != ""){ echo "articulo=".$id."&";}
if (@$ordenar != ""){ echo "ordenar=".$ordenar."&";}
if (@$pagina != "") { echo "pagina=".$pagina."&";}
echo "\">Estado [".ucfirst($_GET['estado'])."]<strong>X</strong></a></td>";
}
echo "</form>";
echo "<td><a href=\"lc.php?";
if (@$id != ""){ echo "articulo=".$id."&";}
if (@$estado != ""){ echo "estado=".$estado."&";}
if (@$pagina != "") { echo "pagina=".$pagina."&";}
echo "ordenar=desendente\" >[Mayor precio]</a></td>";
echo "<td><a href=\"lc.php?";
if (@$id != ""){ echo "articulo=".$id."&";}
if (@$estado != ""){ echo "estado=".$estado."&";}
if (@$pagina != "") { echo "pagina=".$pagina."&";}
echo "ordenar=ascendente\" >[Menor precio]</a></td>";
echo "<td><a href=\"lc.php?";
if (@$id != ""){ echo "articulo=".$id."&";}
if (@$estado != ""){ echo "estado=".$estado."&";}
if (@$pagina != "") { echo "pagina=".$pagina."&";}
echo "ordenar=nuevo\" >[Más nuevo]</a></td>";
echo "<td><a href=\"lc.php?";
if (@$id != ""){ echo "articulo=".$id."&";}
if (@$estado != ""){ echo "estado=".$estado."&";}
if (@$pagina != "") { echo "pagina=".$pagina."&";}
echo "ordenar=antiguo\" >[Más antiguo]</a></td>";
echo "</tr>";
echo "<tr><td COLSPAN=9><br><HR width=100% align=\"center\" style=\"border: 1px solid #DAE4EF;\"><br></td></tr>";
echo "</table>";
echo "</div>";
$query = sprintf("SELECT * FROM articulo WHERE id= '%s' AND vendido='0' AND suspender='0' AND valorar='0' ORDER BY fecha DESC LIMIT 0 , 1", mysql_real_escape_string($id));
$result = mysql_query($query, $con);
Que me recomiendan para hacerlo mas seguro al sitio, please