Anuncio

Anuncio Módulo
Colapsar
No hay anuncio todavía.

¿ Vulnerabilidad al pasar datos entre páginas por $_POST ?

Título de Página Módulo
Transferir Eliminar Colapsar
X
Detalle Conversación Módulo
Colapsar
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • ¿ Vulnerabilidad al pasar datos entre páginas por $_POST ?

    Hola a todos!

    Primero quiero comentaros que, como sabéis, es muy recomendable validar los datos recibidos con php (ademas de javascript) ya que a través de firebug o similar se puede cambiar toda la web de arriba a bajo, por tanto, los datos enviados por el usuario nunca son de confianza... Dicho esto voy al grano....

    Últimamente estoy estudiando mas o menos a fondo las vulnerabilidades de la programación web (html, php...) y encuentro vulnerabilidades por todos los lados, encuentro tantos que me estoy desmoralizando por momentos (

    En mis proyectos controlo XSS, sql injections etc.. pero en este post me querría centrar en las vulnerabilidades al pasar/recibir datos entre páginas con $_POST.

    Pongo un ejemplo:

    Un usuario se registra en la web y una vez en su panel de control puede ver un combobox con un listado de opciones a las que puede acceder (cada usuario tendrá un listado propio, según una serie de parametros). Entonces el usuario elige una opción y se envían los datos por $_POST. La pregunta es:

    ¿La página que recibe esta opción debería mirar en la base de datos para asegurarse que dicha opción pertenece realmente a ese usuario? Si este tipo de código se repite mucho...¿ no es sobrecargar el servidor con demasiadas consultas ?, ¿ es mejor utilizar $_SESSION ?, Que opinais ?

    Un saludo!

  • #2
    Puedes usar variables de sesión para realizar una sola consulta y almacenar en ellas los parámetros del usuario mas relevantes asegurándote por supuesto de cerra las consultar, las conexiones al terminar cada página y las sesiones para borrar las variables al terminar la visita.

    Todo esto ocurre en el servidor y este tiene la configuración correcta de producción no habrá problemas de seguridad.

    Comentario


    • #3
      Si usas sesiones para eso, matas la concurrencia!!!.. los datos en sesiones estarán desactualizados, claro si los datos no varían mucho, pues guardalos en caché o en sesión.. pero en realidad, son pocas las cosas que tendrás que valdidar, tu te refieres a las claves foráneas, si en son todos los datos, los que muestras, pues qué tanto te preocupas por la clave foránea, si es que la cambia, en el navegador, por una clave que no exista, al insertar saldŕa un error de restricción, pero si es filtrado, si debes verificar que la clave foránea esté en el filtro, podrías guardarlo en sesión, pero si alguien cambia el dato, pierdes toda consistencia por que los datos que están en sesión están desactualizados, así que lo correcto sería verificar en la bd justo antes de guardar, y hacerlo en la misma transacción..

      Saludos.

      Comentario

      Trabajando...
      X