Cita:
Iniciado por ferruiz
Tengo una web con base dedatos y he oido que pueden atacar la web y que se puede poner código para evitarlo. He leido algo sobre esta función: mysql_real_escape_string . El problema es que no tengo conocimientos de php y por mucho que busco en foros e intento ponerlo siempre me da error.
Este es el código que yo tengo de acceso a base de datos:
<?php
$link=mysql_connect("localhost","usuario","passwor d");
mysql_select_db('base_datos');
$n=$_GET['id'];
$todo=mysql_fetch_array(mysql_query("select * from pueblos where cod_id='".$n."'"));
?>
¿donde y como tendría que poner el código para tener mayor seguridad ante una posible inyeccion sql ?
Como digo no tengo conocimientos de php y en cuanto cambio una comilla o una coma me sale error por lo que tendría que hacerlo sobre este código que pongo aqui.
Gracias por vuestra colaboración.
Código PHP:
$link=mysql_connect("localhost","usuario","password");
mysql_select_db('base_datos');
$n=htmlentities($_GET['id'],ENT_QUOTES);
////SI $n NO ES NUMERO ENVIO A OTRA PAGINA
if (!preg_match("/^[0-9]+$/", $n))
{
header("Location:../index.php");
exit();
}
$todo=sprintf("select * from pueblos where cod_id='%s'",stripslashes(mysql_real_escape_string($n)));
SALUDOS!

