web applications - seguidores - ¿Cómo reconocen algunos servicios web que estoy iniciando sesión desde una nueva ubicación?
hashtag para instagram copiar y pegar (2)
Descargo de responsabilidad: no estoy relacionado con Steam de ninguna manera
¿Usan una galleta?
Probablemente, podría descubrirlo con un rastreador de red. Por favor mira:
y otro material relacionado.
De alguna otra manera?
Probablemente, debes descubrirlo analizando el tráfico que podría requerir que el hombre en el medio lo ataque. Esto puede ser difícil de lograr, por lo tanto, también puede intentar ponerse en contacto con el soporte técnico de Steam y solicitar documentación técnica. Ambas acciones te ayudarán a descubrir más.
¿Qué tan confiable es eso?
La confiabilidad normalmente depende de las necesidades, por lo que diría que es lo suficientemente confiable para las necesidades de Steam.
Me he dado cuenta de que varios servicios web (a saber, Steam, Facebook, Google, etc.) pueden detectar un nuevo navegador / nueva ubicación y, en algunos casos, me exigen validarlo con un código de correo electrónico.
¿Cómo lo hacen? ¿Usan una galleta? De alguna otra manera? ¿Qué tan confiable es eso?
¿Cómo puedo detectar si un usuario inicia sesión desde su entorno "normal", sea el mismo navegador, la misma computadora, la misma ubicación aproximada?
Aquí hay algunas ideas que te pueden interesar ...
Como ya te dije, no es una ciencia exacta. Debe mantener lo que es importante para la seguridad primero y considerar todo esto como "opcional"
Además, recuerde que todas las "duraciones de tiempo" sugeridas son subjetivas dependiendo de cuán frenéticos sean los accesos a su sitio y qué tan fuerte debe ser la detección de dispositivos.
Estos son los factores que pueden ayudar a identificar los dispositivos:
Las cookies de acceso
En primer lugar, la access token cookie
puede no ser necesariamente diferente de la device id cookie
del device id cookie
, de hecho, se podría usar un token de acceso para identificar de forma única un navegador, incluso si la cadena del token se actualiza con frecuencia de esta manera : 1 sesión = 1 dispositivo.
En su lugar, si desea considerar el mismo dispositivo dos o más navegadores, debe utilizar, por supuesto, dos cookies diferentes. 1 dispositivo = 1 sesión en chrome + 1 sesión en Firefox, etc.
En segundo lugar, la (s) cookie (s) deben "nunca" caducar (configurarlo para que caduque en años). Si desea que caduque la duración de "recordarme", debe hacerlo solo en su código. Esto, debido a que una cookie que "nunca" caduca y que en realidad está asociada a una sesión caducada, sigue siendo útil para identificar el dispositivo que está utilizando el usuario. Además, cuando el usuario cierre la sesión, no elimine las cookies, destruya la sesión internamente en su código.
La propiedad intelectual
¿Cómo registrar IPs?
Cada vez que el usuario cambie la IP a una que considere válida, debe iniciar sesión. Esto significa que necesita una tabla para registrar todas las IPs sessionID | IP | lastActionDateTime | [other factors]+
sessionID | IP | lastActionDateTime | [other factors]+
sessionID | IP | lastActionDateTime | [other factors]+
. Si ya existe una fila que contiene la combinación de ID de dispositivo e IP, y si se lastActionDateTime
por ejemplo, dentro de las 12-24 horas, actualizará lastActionDT
, de lo contrario, debe crear una nueva fila. Eso, a menos que se cambien los otros factores.
¿Cómo comprobar si una IP modificada es válida?
Al usar una base de datos GEOIP, se obtiene la ubicación del usuario: ni siquiera es confiable, pero puede usar la API de Google Maps para verificar la distancia entre la última ubicación conocida y la nueva asociada a la IP, o si la base de datos GEOIP ya proporciona LAT, los valores LARGOS pueden simplemente calcular la distancia entre los dos puntos (hay más información aquí, pero hay muchos artículos disponibles en la web ... En realidad no los verifiqué, pero debería estar bien). Por lo tanto, supongamos que puede considerar válida una IP que se encuentre a una distancia de 100 a 500 km de la última ubicación conocida.
Cuando la IP cambia?
Con 3G, la IP puede cambiar incluso algunos pasos, por lo que si vuelve a ver una página con otra IP diferente, y alguna vista de página anterior se realizó con la misma IP, debe considerar esa IP válida, porque era válida solo una parte Minutos antes (
lastActionDT
), por supuesto de acuerdo con el estado de otros factores, que deberían ser idénticos a los últimos conocidos.Si detecta un cambio de IP después de algunas horas o posiblemente días de inactividad, puede considerar que es válido y permitir el inicio de sesión, especialmente si otros factores coinciden, o si desea una mayor seguridad, puede tratar este caso como el siguiente:
Si detecta un cambio de IP después de muchos días de inactividad, debe solicitar volver a iniciar sesión con el formulario. Aquí la sesión ha caducado, pero la cookie todavía está allí y es utilizable, por lo que si las credenciales del formulario son válidas, renovará la caducidad de la
deviceID
lugar de crear una nuevadeviceID
.
La cadena de la UA
La cadena UA proporciona algunas verificaciones adicionales pero no necesariamente relevantes la mayoría de las veces, pero es útil para detectar cambios sospechosos en las versiones (por ejemplo, ¿qué pensaría si la misma sesión generara primero una visita de página de Chrome 27.0 y algún tiempo después una vista de página de Chrome 26.0? ).
- El usuario puede haber usado un conmutador de agente de usuario.
- El usuario importó las preferencias (incluidas las cookies) en otro navegador en la misma máquina.
- Las cookies de la sesión fueron robadas.
Por lo tanto, esto es muy poco confiable, pero como puedes imaginar, proporciona algunos consejos.
(bonus) Las propiedades de la pantalla
Si desea considerar dos navegadores en la misma computadora como el mismo "dispositivo", podría usar javascript (por supuesto, debido a que es un cheque del lado del cliente, no es confiable por su seguridad, pero sí es útil ... por ejemplo, si alguien roba las cookies de sesión). puede que no sepa que él necesita falsificar también estos valores que va a utilizar para realizar comprobaciones adicionales :-P). De todos modos, window.screen
contiene estas propiedades que son realmente útiles para identificar de forma única un sistema operativo / computadora
-
window.screen.availWidth
&window.screen.availHeight
-
window.screen.availLeft
&window.screen.availTop
-
window.screen.width
&window.screen.height
... teniendo en cuenta que los valores pueden invertirse sobre la marcha en dispositivos móviles (consulte window.screen.orientation
)
(bonus) API de geolocalización
Se podría realizar otra comprobación adicional utilizando la API de geolocalización HTML5 (por supuesto, también, ya que el lado del cliente no es confiable por seguridad, pero es útil si se usa en cooperación con los factores anteriores) Especificaciones de la API de geolocalización
Esperando haber sido útil ...
Wes