Foros del Web » Programando para Internet » PHP »

Seguridad en simple consulta

Estas en el tema de Seguridad en simple consulta en el foro de PHP en Foros del Web. Hola comunidad, tengo la siguiente consulta: Código PHP: $consulta = mysql_query ( "SELECT * FROM subcategorias WHERE idsubcategoria = '" . $_GET [ 'idsubcategoria' ]. "'" ); while( $resultado = mysql_fetch_array ( ...
  #1 (permalink)  
Antiguo 13/06/2012, 14:32
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Pregunta Seguridad en simple consulta

Hola comunidad, tengo la siguiente consulta:

Código PHP:
$consulta=mysql_query("SELECT * FROM subcategorias WHERE idsubcategoria = '".$_GET['idsubcategoria']."'");
while(
$resultado=mysql_fetch_array($consulta))
{

echo 
$resultado['nombresubcategoria'];



Lo único que hace la consulta es mostrar el nombre de la subcategoría elegida.

Mi pregunta es si debo agregar algún tipo de seguridad en el código?. La carga de las cat y sub categorías las realizo en forma manual desde el phpmyadmin, y en el sitio solo tengo esa consulta. O sea, si me inyectan algo en la url del get que le podría pasar al sitio si solo lo uso para mostrar?.

Bueno gracias por su tiempo.
  #2 (permalink)  
Antiguo 13/06/2012, 14:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Seguridad en simple consulta

Pues al sitio es posible que no le hagan nada, pero a tu base de datos le podría pasar lo peor.

Investiga de que trata el tema de SQL Injection, busca en el foro.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/06/2012, 15:09
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Seguridad en simple consulta

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues al sitio es posible que no le hagan nada, pero a tu base de datos le podría pasar lo peor.

Investiga de que trata el tema de SQL Injection, busca en el foro.
Gracias por la pronta respuesta pateketrueke.

Haber si te entiendo, aunque el insert, delete y el update lo trabaje directamente desde el phpmyadmin pueden modificarme el contenido de la base de datos?. Cómo debería proteger el contenido del $_GET?, con mysql_real_escape_string() por ejemplo andaría bien?.

Muchas gracias de nuevo.
  #4 (permalink)  
Antiguo 13/06/2012, 16:43
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Seguridad en simple consulta

Debería quedar así?, alguna ayuda?. Muchas gracias por sus tiempos!.

Código PHP:
$consulta=mysql_query("SELECT * FROM subcategorias WHERE idsubcategoria = '".mysql_real_escape_string($_GET['idsubcategoria'])."'");
while(
$resultado=mysql_fetch_array($consulta))
{

echo 
$resultado['nombresubcategoria'];


  #5 (permalink)  
Antiguo 13/06/2012, 16:59
Avatar de xpapachox  
Fecha de Ingreso: junio-2011
Mensajes: 77
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Seguridad en simple consulta

Bueno con la funcion mysql_real_escape_string estaria bien para mejorar la seguridad de tus consultas.

Pero si deseas mejorarlo mas, mas adelante deberias trabajar usando procedimientos almacenados. Y ademas dejar de lado la Extension "mysql" y empezar a usar la extension recomendada "mysqli".


Espero que averigues un poco mas de esos.

Aqui puede ver algunas diferencias. Y la recomendacion de usar mysqli.


http://otroblogmas.com/diferencias-e...ysqli-pdo-php/

Etiquetas: seguridad, simple, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:42.