¿Es este código vulnerable? [cerrado]

0

He desarrollado un código PHP dado a continuación. Me gustaría saber cuáles son las vulnerabilidades de seguridad presentes en este código PHP.

<?php
        if(isset($_SESSION['id'])){
        // get data from mysql table where id = $_SESSION['id'];
        // shows data

        }else{
        echo "pls login";
        }

     ?>
    
pregunta messi fan 03.01.2013 - 07:15
fuente

2 respuestas

8

Ese fragmento de código en sí mismo no es realmente un control de seguridad, solo verifica que exista un valor antes de usarlo (buenas prácticas, pero no relacionadas con la seguridad). La carne de tu código estará en:

from mysql table where id = $_SESSION['id'];

Y todo depende de cómo llegaron los datos a $ _SESSION ['id']. Ya sea antes de insertarlo allí o antes de usarlo, debe realizar las comprobaciones de seguridad adecuadas en función de para qué va a utilizar el valor. En su caso, verifique la inyección de SQL Y está mejor utilizando consultas parametrizadas.

Si su en realidad de SQL se parece un poco a lo que escribió, es decir, una concatenación de cadenas con el $ _SESSION ['id'] sin calcular como un valor numérico, entonces, sí , esto es MUY vulnerable.

    
respondido por el palako 03.01.2013 - 18:29
fuente
0

Siempre y cuando se borren correctamente las variables de la sesión después de que el usuario haya cerrado la sesión, esto debería estar bien. Si bien esta variable de sesión en particular no es inyectable, asegúrese de que está utilizando consultas parametrizadas en todo su código.

    
respondido por el Polynomial 03.01.2013 - 07:52
fuente

Lea otras preguntas en las etiquetas