[Pensamientos del día] Cómo implementar el reconocimiento de huellas dactilares de dispositivos en varios navegadores

Hoy en día, las industrias negras y grises se están volviendo cada vez más arrogantes y la tecnología fraudulenta también se está poniendo al día con el viento. Con frecuencia se utilizan diversos métodos, especialmente en el campo del comercio electrónico. Para cosechar lana, negro y Las industrias grises pueden iniciar sesión en varios navegadores en una computadora al mismo tiempo, y este es un escenario de aplicación del reconocimiento de huellas dactilares de dispositivos entre navegadores.

Por supuesto, habrá otras escenas similares, solo que no podemos pensar en ellas, y ningún producto negro y gris no puede hacerlo. En general, necesitamos huellas dactilares de dispositivos en todos los navegadores para detectar fraudes y abusos de cuentas. Al identificar las huellas digitales del dispositivo, puede determinar si hay varias cuentas funcionando en el mismo dispositivo o si la misma cuenta funciona de forma anormal en varios dispositivos, mejorando así la seguridad y previniendo riesgos de fraude.

En primer lugar, debemos declarar: si queremos garantizar la función entre núcleos de las huellas digitales del dispositivo (los núcleos de Chrome y Edge son iguales, Firefox es diferente), entonces la probabilidad de colisión aumentará inevitablemente , así que utilícelo con precaución.

intento simple

Implementar la toma de huellas digitales de dispositivos entre navegadores es una tarea compleja porque las funciones y API proporcionadas por diferentes navegadores y dispositivos pueden diferir. Sin embargo, existen algunas soluciones de huellas dactilares de dispositivos entre navegadores que se pueden utilizar para obtener información coherente de las huellas dactilares, por lo que podemos intentarlo.

Paso 1: recopilar las características del dispositivo

En este paso, podemos utilizar diferentes tecnologías y API para recopilar diversa información característica de navegadores y dispositivos, como cadena de agente de usuario, resolución de pantalla, información del sistema operativo, información de complementos, configuración de idioma, etc.

Paso 2: unificar los datos de las funciones

Estandarice y normalice los datos de funciones recopilados para garantizar la coherencia entre diferentes navegadores y dispositivos. Esto se puede lograr normalizando los formatos de datos, ordenándolos, eliminando información duplicada, etc.

Paso tres: hash y cifrado

Hash o cifra los datos de funciones normalizadas para garantizar la seguridad y la protección de la privacidad de las huellas digitales del dispositivo. Los algoritmos hash más utilizados incluyen MD5, SHA-1, SHA-256, etc.

Paso 4: generar la huella digital del dispositivo

Los datos de características procesados ​​se utilizan para generar una huella digital del dispositivo y el valor hash se puede utilizar como identificación de la huella digital. Asegúrese de que la huella digital generada sea lo suficientemente única y estable.

Bien, veamos directamente el código:

function generateDeviceFingerprint() {
  var fingerprint = '';

  // 收集设备特征信息
  var userAgent = navigator.userAgent;
  var screenResolution = window.screen.width + 'x' + window.screen.height;
  var language = navigator.language;
  var plugins = '';
  for (var i = 0; i < navigator.plugins.length; i++) {
    plugins += navigator.plugins[i].name + ',';
  }

  // 统一化特征数据
  var normalizedData = userAgent + screenResolution + language + plugins;

  // 哈希特征数据
  fingerprint = md5(normalizedData); // 使用MD5算法进行哈希处理,需要引入MD5算法库

  return fingerprint;
}

// 示例使用了MD5.js库,需要引入相应的库文件
<script src="md5.js"></script>

En el código anterior, podemos ver que generateDeviceFingerprint()la función recopila información característica, como el agente de usuario del navegador, la resolución de la pantalla, la configuración de idioma y la información del complemento, la normaliza y la codifica, y finalmente genera una huella digital del dispositivo.

Conclusión

Volviendo a la pregunta que mencionamos anteriormente, actualmente existe en el mercado una cierta demanda de reconocimiento de huellas dactilares de dispositivos entre navegadores, pero aún no existe una forma relativamente completa de equilibrar la relación entre cada núcleo y la probabilidad de colisión. es una necesidad empresarial, entonces se debe hacer una compensación.

eso es todo.

おすすめ

転載: blog.csdn.net/dingxiang234/article/details/131411674