Amig@s perdón que me meta en el tema pero estoy metiéndome en la POO y de paso en la seguridad en php
entonces leyendo el tema me intereso saber que hace mysql_real_escape.
yo tengo esta consulta:
$sql = "select * from noticias where id_noticia=".mysql_real_escape_string($_GET['id']);
Ahi que estaria evitando?
Cuando es recomendable usar dicha función y que hace?
Escapa caracteres especiales en la cadena no escapada, teniendo en cuenta el conjunto de caracteres actual de la conexión para que sea seguro usarla en mysql_query(). Si se van a insertar datos binarios, esta función debe ser usada.
mysql_real_escape_string() llama la función de la libreria de MySQL mysql_real_escape_string, la cual antepone backslashes a los siguientes caracteres: \x00, \n, \r, \, ', " y \x1a.
Esta función siempre debe (con pocas excepciones) ser usada para hacer los datos seguros, antes de enviar una consulta a MySQL.
http://php.net/manual/es/function.mysql-real-escape-string.phpSi es un id (numero), Puedes usar la función (int) que convierte cualquier cosa a entero.
Saludos