parlamento ley internet europeo europea europa derechos copyright autor php

php - ley - parlamento europeo internet



PHP bloqueada dirección ip (3)

Este código eliminará la sesión (cierre de sesión) si la dirección IP del usuario cambia.

Por lo tanto, el usuario puede iniciar sesión desde cualquier dirección IP, pero se desconectará si cambia.

Esto podría funcionar para evitar el secuestro de sesiones, pero no funcionará muy bien si tiene una IP dinámica porque su IP seguirá cambiando.

Bloqueo la dirección ip.

¿Significa esto que el usuario solo puede iniciar sesión con la misma dirección IP? ¿O el usuario cerrará la sesión y tendrá que volver a iniciar sesión para obtener una nueva sesión?

if (isset($_SESSION[''last_ip'']) === false) { $_SESSION[''last_ip''] = $_SERVER[''REMOTE_ADDR'']; } if ($_SESSION[''last_ip''] != $_SERVER[''REMOTE_ADDR'']){ session_unset(); session_destroy(); }


Lo hace. Si la IP del usuario cambia, se desconectará. Aunque un atacante aún podría imitar la IP si lo sabe, entonces no es totalmente seguro. Eche un vistazo a estas páginas para obtener más información sobre cómo evitar el secuestro de sesiones:

También recomendaría altamente a Chris Shiflett. Su artículo sobre el secuestro de sesión se puede encontrar aquí:

http://shiflett.org/articles/session-hijacking


if (isset($_SESSION[''last_ip'']) === false) { $_SESSION[''last_ip''] = $_SERVER[''REMOTE_ADDR'']; }

El código anterior significa que si la sesión "last_ip" aún no se ha creado, se creará y almacenará los valores de la ip actual del usuario.

if ($_SESSION[''last_ip''] != $_SERVER[''REMOTE_ADDR'']){ session_unset(); session_destroy(); }

El código anterior indica que si el valor de sesión de "last_ip" no es igual a su ip actual, liberará todas las variables de sesión (session_unset) y destruirá todos los datos registrados en una sesión (session_destroy).

Vamos a describir el escenario real.

Por ejemplo, accedo a su sitio web, así que el primer bloque de código almacena mi IP actual. Ahora mi internet se desconectó y me reconecto a mi ISP, que tiene habilitado dhcp y me da una nueva IP. Entonces, si vuelvo a visitar su sitio web, el segundo bloque de código comprueba que tengo una IP diferente, por lo que se desconectará.

También edite su segundo bloque de código para que, si la sesión "last_ip" aún no se crea, no se produzca un aviso de php.

if (isset($_SESSION[''last_ip'']) && $_SESSION[''last_ip''] != $_SERVER[''REMOTE_ADDR'']){ session_unset(); session_destroy(); }