Desafortunadamente, no creo que este sea un enfoque muy seguro. Hay varias razones por las que:
- NAT en su red local
- NAT en su ISP (NAT de nivel de operador)
- Proxies en cualquier lugar entre su navegador y su servidor web
- Equilibradores de carga frente a su servidor web
Cualquiera de estos puede ocasionar que múltiples dispositivos accedan a tu página para compartir la misma dirección IP.
En caso de que no esté familiarizado: Traducción de direcciones de red (NAT) permite que múltiples sistemas en una red accedan a Internet desde la misma dirección IP pública. Esto es necesario porque hay muchos más sistemas que acceden a Internet que las direcciones IPv4 públicas disponibles.
La mayoría de los hogares ejecutan un enrutador que realiza NAT para ellos, lo que significa que cualquier sistema que se conecte a Internet (por ejemplo, su computadora de escritorio, computadora portátil, tableta, teléfono, televisión) provendrá de la misma dirección IP. Eso también significa que cualquiera de estos sistemas puede acceder a su página web y será autenticado.
Se pone peor que eso. Su ISP podría estar ejecutando NAT de nivel de operador (CGN) , lo que significa que un montón de hogares compartirán el Dirección IP como usted. Eso significa que cualquiera de ellos podría acceder a su página web y será autenticado.
Luego hay proxies. Si su navegador envía tráfico a través de un proxy (como uno alojado por su ISP), o si su sitio web se encuentra frente a una red de distribución de contenido ( CDN) , lo más probable es que obtenga la dirección IP del proxy o nodo de borde CDN, en lugar de la dirección IP de su computadora.
Finalmente, si su servidor web tiene un equilibrador de carga frente a su servidor web, entonces puede terminar con la dirección IP del equilibrador de carga.
Por todos estos motivos, definitivamente no recomendaría un mecanismo de inicio de sesión que se base únicamente en la dirección IP del usuario que accede a su página web.
Si no desea escribir el código para autenticarse, le recomendamos que consulte algunas bibliotecas de terceros para hacerlo, aunque asegúrese de revisar el código antes de implementarlo en su página web.
En lo que respecta a la falsificación de IP
Otros han mencionado el riesgo de suplantación de la propiedad intelectual, que en teoría parece fácil, pero (incluso en una forma simplificada) requeriría dos pasos diferentes:
- Cambie la dirección IP en el encabezado del datagrama IP
- Intercepte la respuesta del servidor para leer los resultados
El primer bit no es difícil por sí mismo. La dificultad es que el servidor enviará la respuesta a la IP falsificada, en lugar de a la IP de los atacantes. Para leer la respuesta, el atacante por lo tanto necesitaría interceptar la respuesta al usuario. Esto generalmente sería bastante difícil.