Un navegador web normal enviará, como parte de sus solicitudes a los servidores web, un encabezado estándar llamado User-Agent
, que generalmente indica el proveedor del navegador, la versión y el tipo de máquina y sistema operativo en el que se está ejecutando actualmente. Puedes usar eso para reaccionar en algunos tipos de dispositivos. Sin embargo, esto es solo para un cliente colaborador : un usuario malintencionado puede modificar a voluntad el agente de usuario que su navegador envía.
Una solución más completa, pero más costosa, es instalar algún valor secreto específico del dispositivo en cada dispositivo "aprobado". Por ejemplo, use una Autoridad de certificación para emitir un certificado para cada dispositivo; al conectarse, el servidor requerirá que el cliente muestre su certificado. Este es un procedimiento estándar en SSL . Todavía estaría en el servidor verificar que la identidad del dispositivo autenticado sea una de las identidades "aprobadas" (en un contexto de Microsoft, el servidor web es IIS y puede asignar certificados a las cuentas en Active Directory, lo que posiblemente sea una forma de implementar) que).
No puede evitar que el propietario de un dispositivo malintencionado extraiga el certificado (con su clave privada) de su dispositivo e lo instale en otro dispositivo no aprobado; pero, al menos, cuando detecta que se cometió tal villanía, primero puede bloquear ese lado del servidor de identidad, luego revocar el certificado ofensivo y, por lo tanto, recuperarse de las consecuencias de ese acto atroz.