una son que páginas pagina obtener metodos librerias las interactiva hacer elementos div dinamica crear con como clase cambiar javascript cookies browser

son - páginas web con javascript



¿Cómo identifico de forma exclusiva las computadoras que visitan mi sitio web? (21)

Como quiero que la solución funcione en todas las máquinas y en todos los navegadores (dentro de lo razonable), intento crear una solución utilizando javascript.

¿No es esa una buena razón para no usar javascript?

Como otros han dicho, las cookies son probablemente su mejor opción, solo tenga en cuenta las limitaciones.

Necesito encontrar una manera única de identificar cada computadora que visita el sitio web que estoy creando. ¿Alguien tiene algún consejo sobre cómo lograr esto?

Como quiero que la solución funcione en todas las máquinas y en todos los navegadores (dentro de lo razonable), intento crear una solución utilizando javascript.

Aprecio la ayuda. Gracias.

EDITAR:

Las cookies no funcionarán

Necesito la capacidad de crear básicamente un guid que sea exclusivo de una computadora y repetible, suponiendo que no se hayan producido cambios de hardware en la computadora. Las direcciones en las que estoy pensando están obteniendo el MAC de la tarjeta de red y otra información de esta naturaleza que identificará la máquina que visita el sitio web.


Cuando uso una máquina que nunca ha visitado mi sitio web de banca en línea, me piden una autenticación adicional. luego, si vuelvo una segunda vez al sitio de banca en línea, no me preguntan sobre la autentificación adicional ... eliminé todas las cookies en IE y volví a colocar en mi sitio de banca en línea esperando que se me hicieran nuevamente las preguntas de autenticación. para mi sorpresa, no me preguntaron. ¿Esto no lleva a creer que el banco está haciendo algún tipo de etiquetado de la PC que no implica cookies?

Este es un tipo de autenticación bastante común utilizado por los bancos.

Digamos que está accediendo al sitio web de su banco a través de example-isp.com. La primera vez que esté allí, se le pedirá su contraseña, así como autenticación adicional. Una vez que haya pasado, el banco sabe que el usuario "thatisvaliant" está autenticado para acceder al sitio a través de example-isp.com.

En el futuro, no solicitará autenticación adicional (más allá de su contraseña) cuando acceda al sitio a través de example-isp.com. Si intenta acceder al banco a través de another-isp.com, el banco volverá a realizar la misma rutina.

Para resumir, lo que el banco identifica es su ISP y / o netblock, en función de su dirección IP. Obviamente, no todos los usuarios de su ISP son ustedes, por lo que el banco aún le pide su contraseña.

¿Alguna vez ha llamado a una compañía de tarjeta de crédito para verificar que todo esté bien cuando usa una tarjeta de crédito en otro país? Mismo concepto.


Introducción

No sé si existe o alguna vez habrá una forma única de identificar máquinas usando solo un navegador. Las principales razones son:

  • Deberá guardar datos en la computadora de los usuarios. Esta información puede ser eliminada por el usuario en cualquier momento. A menos que tenga una forma de recrear estos datos, que son únicos para todas y cada una de las máquinas, entonces está atrapado.
  • Validación. Debe protegerse contra la suplantación de identidad, el secuestro de sesión, etc.

Incluso si hay formas de rastrear una computadora sin usar cookies, siempre habrá una manera de evitarla y un software que lo hará automáticamente. Si realmente necesita rastrear algo basado en una computadora, tendrá que escribir una aplicación nativa (Apple Store / Tienda Android / Programa Windows / etc).

Es posible que no pueda darle una respuesta a la pregunta que me hizo, pero puedo mostrarle cómo implementar el seguimiento de la sesión. Con el seguimiento de sesión, intenta realizar un seguimiento de la sesión de exploración en lugar de la computadora que visita su sitio. Al rastrear la sesión, su esquema de base de datos se verá así:

sesssion: sessionID: string // Global session data goes here computers: [{ BrowserID: string ComputerID: string FingerprintID: string userID: string authToken: string ipAddresses: ["203.525....", "203.525...", ...] // Computer session data goes here }, ...]

Ventajas del seguimiento basado en la sesión:

  1. Para los usuarios que han iniciado sesión, siempre puede generar la misma ID de sesión del username / password / email de los usuarios.
  2. Todavía puede rastrear usuarios invitados usando sessionID .
  3. Incluso si varias personas usan la misma computadora (es decir, cibercafé), puedes rastrearlas por separado si inician sesión.

Desventajas del seguimiento basado en sesiones:

  1. Las sesiones son basadas en navegador y no basadas en computadora. Si un usuario usa 2 navegadores diferentes, resultará en 2 sesiones diferentes. Si esto es un problema, puede dejar de leer aquí.
  2. Las sesiones caducan si el usuario no ha iniciado sesión. Si un usuario no está conectado, utilizará una sesión de invitado que se invalidará si el usuario elimina las cookies y el caché del navegador.

Implementación

Hay muchas formas de implementar esto. No creo que pueda cubrirlos a todos, solo mencionaré mi favorito, lo que haría que esta sea una respuesta obstinada . Tenlo en cuenta.

Lo esencial

Seguiré la sesión utilizando lo que se conoce como una cookie para siempre. Se trata de datos que se recrearán automágicamente, incluso si el usuario borra sus cookies o actualiza su navegador. Sin embargo, no sobrevivirá al usuario que borre sus cookies y su caché de navegación.

Para implementar esto, usaré el mecanismo de caché de navegadores ( RFC ), la API de WebStorage ( MDN ) y las cookies del navegador ( RFC , Google Analytics ).

Legal

Para utilizar identificadores de seguimiento, debe agregarlos tanto a su política de privacidad como a sus términos de uso, preferiblemente bajo el subtítulo Seguimiento . Utilizaremos las siguientes claves en document.cookie y window.localStorage :

  • _ga : datos de Google Analytics
  • __utma : cookie de seguimiento de Google Analytics
  • sid : SessionID

Asegúrese de incluir enlaces a su política de privacidad y términos de uso en todas las páginas que usan el seguimiento.

¿Dónde almaceno mis datos de sesión?

Puede almacenar sus datos de sesión en la base de datos de su sitio web o en la computadora de los usuarios. Como normalmente trabajo en sitios más pequeños (más de 10 mil conexiones continuas) que usan aplicaciones de terceros (Google Analytics / Clicky / etc), lo mejor para mí es almacenar datos en la computadora de los clientes. Esto tiene las siguientes ventajas:

  1. Sin búsqueda de base de datos / gastos generales / carga / latencia / espacio / etc.
  2. El usuario puede eliminar sus datos cuando lo desee sin la necesidad de escribirme correos electrónicos molestos.

y desventajas:

  1. Los datos tienen que estar encriptados / descifrados y firmados / verificados, lo que crea una sobrecarga de CPU en el cliente (no tan mal) y en el servidor (bah!).
  2. Los datos se eliminan cuando el usuario borra sus cookies y caché. (Esto es lo que quiero realmente)
  3. Los datos no están disponibles para el análisis cuando los usuarios se desconectan. (análisis solo para usuarios que navegan actualmente)

UUIDS

  • BrowserID : Identificación única generada a partir de la cadena del agente de usuario de los navegadores. Browser|BrowserVersion|OS|OSVersion|Processor|MozzilaMajorVersion|GeckoMajorVersion
  • ComputerID : generado a partir de la dirección IP del usuario y la clave de sesión HTTPS. getISP(requestIP)|getHTTPSClientKey()
  • FingerPrintID : huella digital basada en JavaScript basada en una fingerprint.js modificada. FingerPrint.get()
  • SessionID : clave aleatoria generada cuando el usuario visita el primer sitio. BrowserID|ComputerID|randombytes(256)
  • ID de Google : generado a partir de la cookie __utma . getCookie(__utma).uniqueid

Mecanismo

El otro día estaba viendo el show de Wendy Williams con mi novia y me horroricé por completo cuando el presentador le aconsejó a sus espectadores que borraran su historial de navegación al menos una vez al mes. Eliminar el historial del navegador normalmente tiene los siguientes efectos:

  1. Elimina el historial de sitios web visitados.
  2. Elimina las cookies y window.localStorage (aww man).

La mayoría de los navegadores modernos hacen que esta opción esté disponible pero no temas amigos. Porque hay una solución. El navegador tiene un mecanismo de almacenamiento en caché para almacenar secuencias de comandos / imágenes y otras cosas. Por lo general, incluso si eliminamos nuestro historial, este caché del navegador aún permanece. Todo lo que necesitamos es una forma de almacenar nuestros datos aquí. Hay 2 métodos para hacer esto. El mejor es usar una imagen SVG y almacenar nuestros datos dentro de sus etiquetas. De esta forma, aún se pueden extraer datos incluso si JavaScript está deshabilitado usando flash. Sin embargo, dado que es un poco complicado, demostraré el otro enfoque que utiliza JSONP ( Wikipedia )

example.com/assets/js/tracking.js (en realidad tracking.php)

var now = new Date(); var window.__sid = "SessionID"; // Server generated setCookie("sid", window.__sid, now.setFullYear(now.getFullYear() + 1, now.getMonth(), now.getDate() - 1)); if( "localStorage" in window ) { window.localStorage.setItem("sid", window.__sid); }

Ahora podemos obtener nuestra clave de sesión en cualquier momento:

window.__sid || window.localStorage.getItem("sid") || getCookie("sid") || ""

¿Cómo hago que tracking.js se pegue en el navegador?

Podemos lograr esto utilizando los encabezados Cache-Control , Last-Modified y ETag HTTP. Podemos usar el SessionID como valor para el encabezado etag:

setHeaders({ "ETag": SessionID, "Last-Modified": new Date(0).toUTCString(), "Cache-Control": "private, max-age=31536000, s-max-age=31536000, must-revalidate" })

Last-Modified encabezado Last-Modified le dice al navegador que este archivo básicamente nunca se modifica. Cache-Control le dice a los proxies y gateways que no almacenen en caché el documento, pero le dice al navegador que lo guarde en caché durante 1 año.

La próxima vez que el navegador solicite el documento, enviará encabezados If-Modified-Since y If-None-Match . Podemos usar estos para devolver una respuesta 304 Not Modified .

example.com/assets/js/tracking.php

$sid = getHeader("If-None-Match") ?: getHeader("if-none-match") ?: getHeader("IF-NONE-MATCH") ?: ""; $ifModifiedSince = hasHeader("If-Modified-Since") ?: hasHeader("if-modified-since") ?: hasHeader("IF-MODIFIED-SINCE"); if( validateSession($sid) ) { if( sessionExists($sid) ) { continueSession($sid); send304(); } else { startSession($sid); send304(); } } else if( $ifModifiedSince ) { send304(); } else { startSession(); send200(); }

Ahora, cada vez que el navegador solicite tracking.js nuestro servidor responderá con un resultado 304 Not Modified y forzará la ejecución de la copia local de tracking.js .

Todavía no entiendo Explícamelo

Supongamos que el usuario borra su historial de navegación y actualiza la página. Lo único que queda en la computadora de los usuarios es una copia de tracking.js en el caché del navegador. Cuando el navegador solicita tracking.js , recibe una respuesta 304 Not Modified que hace que ejecute la primera versión de tracking.js recibida. tracking.js ejecuta y restaura el SessionID que se eliminó.

Validación

Supongamos que Haxor X roba las cookies de nuestros clientes mientras aún están conectados. ¿Cómo los protegemos? Criptografía y huellas dactilares del navegador al rescate. Recuerde que nuestra definición original para SessionID fue:

BrowserID|ComputerID|randomBytes(256)

Podemos cambiar esto a:

Timestamp|BrowserID|ComputerID|encrypt(randomBytes(256), hk)|sign(Timestamp|BrowserID|ComputerID|randomBytes(256), hk)

Donde hk = sign(Timestamp|BrowserID|ComputerID, serverKey) .

Ahora podemos validar nuestro SessionID usando el siguiente algoritmo:

if( getTimestamp($sid) is older than 1 year ) return false; if( getBrowserID($sid) !== createBrowserID($_Request, $_Server) ) return false; if( getComputerID($sid) !== createComputerID($_Request, $_Server) return false; $hk = sign(getTimestamp($sid) + getBrowserID($sid) + getComputerID($sid), $SERVER["key"]); if( !verify(decrypt(getRandomBytes($sid)), getSignature($sid), $hk) ) return false; return true;

Ahora para que el ataque de Haxor funcione, deben:

  1. Tener el mismo ComputerID . Eso significa que tienen que tener el mismo proveedor de ISP como víctima (Tricky). Esto le dará a nuestra víctima la oportunidad de emprender acciones legales en su propio país. Haxor también debe obtener la clave de sesión HTTPS de la víctima (Difícil).
  2. Tener el mismo BrowserID . Cualquiera puede falsificar la cadena User-Agent (Molesto).
  3. Ser capaz de crear su propio SessionID falso (muy difícil). Los ataques por volumen no funcionarán porque usamos un sello de tiempo para generar la clave de encriptación / firma, así que básicamente es como generar una nueva clave para cada sesión. Además de eso, ciframos bytes aleatorios para que un simple ataque de diccionario también esté fuera de cuestión.

Podemos mejorar la validación mediante el reenvío de GoogleID y FingerprintID (a través de ajax o campos ocultos) y la coincidencia con esos.

if( GoogleID != getStoredGoodleID($sid) ) return false; if( byte_difference(FingerPrintID, getStoredFingerprint($sid) > 10%) return false;


Al igual que con las soluciones anteriores, las cookies son un buen método, sin embargo, tenga en cuenta que identifican navegadores . Si visité un sitio web en Firefox y luego en Internet Explorer, las cookies se almacenarían para ambos intentos por separado. Algunos usuarios también desactivan las cookies (pero más personas deshabilitan JavaScript).

Otro método a considerar sería la identificación del IP y del nombre de host (tenga en cuenta que estos pueden variar para usuarios de IP de acceso telefónico / no estáticos, AOL también usa IP generales). Sin embargo, dado que esto solo identifica redes, puede que esto no funcione tan bien como las cookies.


Creo que el veredicto es que no puedo identificar de forma única mediante programación una computadora que está visitando mi sitio web.

Tengo la siguiente pregunta. Cuando uso una máquina que nunca ha visitado mi sitio web de banca en línea, me piden una autenticación adicional. entonces, si regreso por segunda vez al sitio de banca en línea, no me preguntan la autentificación adicional. leyendo las respuestas a mi pregunta, decidí que debe ser una cookie involucrada. por lo tanto, eliminé todas las cookies en IE y volví a colocar en mi sitio de banca en línea esperando que se me hicieran nuevamente las preguntas de autenticación. para mi sorpresa, no me preguntaron. ¿Esto no lleva a creer que el banco está haciendo algún tipo de etiquetado de la PC que no implica cookies?

Además, después de mucho google hoy, encontré la siguiente compañía que dice vender una solución que identifica de manera única las máquinas que visitan un sitio web. http://www.the41.com/products.asp .

agradezco toda la buena información si pudieran aclarar aún más esta información conflictiva que encontré, la agradecería enormemente.


Creo que las cookies pueden ser lo que estás buscando; así es como la mayoría de los sitios web identifican a los visitantes de manera única.


Estas personas han desarrollado un método de toma de huellas dactilares para reconocer a un usuario con un alto nivel de precisión:

https://panopticlick.eff.org/static/browser-uniqueness.pdf

Investigamos el grado en que los navegadores web modernos están sujetos a la "huella dactilar del dispositivo" a través de la versión y la información de configuración que transmitirán a los sitios web que lo soliciten. Implementamos un posible algoritmo de huellas dactilares, y recopilamos estas huellas dactilares de una gran muestra de navegadores que visitó nuestro lado de prueba, panopticlick.eff.org . Observamos que la distribución de nuestra huella dactilar contiene al menos 18.1 bits de entropía, lo que significa que si escogemos un navegador al azar, esperamos que solo uno de cada 286.777 navegadores compartirá su huella digital. Entre los navegadores compatibles con Flash o Java, la situación es peor, con un navegador promedio con al menos 18.8 bits de información de identificación. El 94.2% de los navegadores con Flash o Java fueron únicos en nuestra muestra.

Al observar a los visitantes que regresan, estimamos qué tan rápido pueden cambiar las huellas dactilares del navegador con el tiempo. En nuestra muestra, las huellas dactilares cambiaron con bastante rapidez, pero incluso una heurística simple solía adivinar cuándo una huella dactilar era una versión "actualizada" de la huella digital de un navegador previamente observado, con un 99.1% de conjeturas correctas y una tasa de falsos positivos de solo 0.86% .

Discutimos sobre qué amenaza de privacidad representan las huellas dactilares del navegador en la práctica, y qué contramedidas pueden ser apropiadas para prevenirlo. Existe una compensación entre la protección contra la huella dactilar y ciertos tipos de depuración, que en los navegadores actuales pesa mucho en contra de la privacidad. Paradójicamente, las tecnologías de privacidad anti-huellas dactilares pueden ser contraproducentes si no son utilizadas por un número suficiente de personas; mostramos que algunas medidas de privacidad actualmente son víctimas de esta paradoja, pero otras no ...


Existe un método popular llamado lienzo de huellas dactilares, que se describe en este artículo científico: La Web nunca se olvida: Mecanismos de seguimiento persistentes en la naturaleza . Una vez que comiences a buscarlo, te sorprenderá la frecuencia con que se usa. El método crea una huella digital única, que es consistente para cada combinación de navegador / hardware.

El artículo también revisa otros métodos de seguimiento persistentes, como evercookies, la reaparición de las cookies http y Flash y la sincronización de cookies.

Más información sobre las huellas dactilares de lona aquí:


Haría esto usando una combinación de cookies y cookies flash. Crea un GUID y guárdalo en una cookie. Si la cookie no existe, intente leerla desde la cookie flash. Si todavía no se encuentra, créelo y escríbalo en la cookie flash. De esta forma, puede compartir el mismo GUID en todos los navegadores.


Hay fallas con enfoques de cookies y no cookies. Pero si puedes perdonar las deficiencias del enfoque de cookies, aquí tienes una idea.

Si ya está usando Google Analytics en su sitio, entonces no necesita escribir código para rastrear usuarios únicos. Google Analytics lo hace por usted a través del valor de la cookie __utma , como se describe en la documentación de Google . Y reutilizando este valor, no está creando una carga adicional de cookies, que tiene beneficios de eficiencia con las solicitudes de página.

Y podría escribir algún código con la suficiente facilidad para acceder a ese valor, o usar la función getUniqueId() este script .


Las cookies no serán útiles para determinar visitantes únicos. Un usuario podría borrar las cookies y actualizar el sitio; luego se clasificará como un nuevo usuario nuevamente.

Creo que la mejor manera de hacerlo es implementar una solución del lado del servidor (ya que necesitará un lugar donde almacenar sus datos). Dependiendo de la complejidad de sus necesidades de dichos datos, deberá determinar qué se clasifica como una visita única. Un método sensato sería permitir que una dirección IP regrese al día siguiente y recibir una visita única. Varias visitas de una dirección IP en un día no se deben contar como únicas.

Usando PHP, por ejemplo, es trivial obtener la dirección IP de un visitante y almacenarla en un archivo de texto (o una base de datos sql).

Una solución del lado del servidor funcionará en todas las máquinas, porque va a rastrear al usuario cuando primero carga su sitio. No use javascript, ya que está destinado a las secuencias de comandos del lado del cliente, además de que el usuario puede haberlo deshabilitado en cualquier caso.

Espero que ayude.


Las sugerencias para utilizar cookies aparte, el único conjunto completo de atributos de identificación disponibles para interrogar están contenidas en el encabezado de solicitud HTTP. Por lo tanto, es posible utilizar un subconjunto de estos para crear un identificador pseudo-único para un agente de usuario (es decir, navegador). Además, la mayoría de esta información posiblemente ya esté registrada en el llamado "registro de acceso" de su software de servidor web de manera predeterminada y, si no, se puede configurar fácilmente para hacerlo. Luego, se podría desarrollar un utlity que simplemente escanea el contenido de este registro, creando huellas dactilares de cada solicitud compuesta por, por ejemplo, la dirección IP y la cadena del agente de usuario, etc. Cuantos más datos estén disponibles, incluso el contenido de cookies específicas, agrega a la calidad de la singularidad de esta huella digital. Sin embargo, como muchos otros ya han indicado, el protocolo HTTP no lo hace 100% infalible; en el mejor de los casos, solo puede ser un buen indicador.


Mi publicación podría no ser una solución, pero puedo dar un ejemplo donde esta función se implementó.

Si visita la página de registro de www.supertorrents.org por primera vez desde su computadora, está bien. Pero si actualiza la página o abre la página nuevamente, identifica que ha visitado la página anteriormente. La verdadera belleza viene aquí: se identifica incluso si reinstala Windows u otro sistema operativo.

Leí en alguna parte que almacenan la ID de la CPU. Aunque no pude encontrar cómo lo hacen, lo dudo seriamente, y pueden usar la dirección MAC para hacerlo.

Definitivamente voy a compartir si encuentro cómo hacerlo.


No es posible identificar las computadoras que acceden a un sitio web sin la cooperación de sus dueños. Sin embargo, si le permiten, puede almacenar una cookie para identificar la máquina cuando visite su sitio nuevamente. La clave es que el visitante tiene el control; pueden eliminar la cookie y aparecer como un nuevo visitante en cualquier momento que lo deseen.


Puede intentar establecer una identificación única en evercookie (funcionará en el navegador, consulte sus preguntas frecuentes): http://samy.pl/evercookie/

También hay una compañía llamada ThreatMetrix que es utilizada por muchas grandes compañías para resolver este problema: http://threatmetrix.com/our-solutions/solutions-by-product/trustdefender-id/ Son bastante caras y algunas de sus otros productos no son muy buenos, pero la identificación de su dispositivo funciona bien.

Finalmente, existe esta implementación de jquery de código abierto de la idea panopticlick: https://github.com/carlo/jquery-browser-fingerprint Parece bastante medio cocido en este momento, pero podría ampliarse.

¡Espero eso ayude!


Puedes usar fingerprintjs2

new Fingerprint2().get(function(result, components) { console.log(result) // a hash, representing your device fingerprint console.log(components) // an array of FP components //submit hash and JSON object to the server })

Después de eso, puedes verificar todos tus usuarios contra existentes y verificar la similitud de JSON, por lo que incluso si su huella digital muta, aún puedes rastrearlos


Realmente, lo que quieres hacer no se puede hacer porque los protocolos no permiten esto. Si las direcciones IP estáticas se utilizan universalmente, entonces es posible que pueda hacerlo. No lo son, entonces no puedes.

Si realmente desea identificar personas , haga que inicien sesión.

Dado que es probable que se muevan a diferentes páginas de su sitio web, necesita una forma de hacer un seguimiento de ellos a medida que avanzan.

Mientras estén conectados, y usted esté rastreando su sesión dentro de su sitio a través de cookies / link-parameters / beacons / whatever, puede estar bastante seguro de que están usando la misma computadora durante ese tiempo.

En última instancia, es incorrecto decir que esto le dice qué computadora están utilizando si sus usuarios no están usando su propia red local y no tienen direcciones IP estáticas.

Si lo que desea hacer es hacerlo con la cooperación de los usuarios y solo hay un usuario por cookie y usan un solo navegador web, solo use una cookie.


Solo hay una pequeña cantidad de información que puede obtener a través de una conexión HTTP.

  1. IP - Pero, como han dicho otros, esto no se soluciona para muchos, si no para la mayoría de los usuarios de Internet, debido a las políticas de asignación dinámica de su ISP.

  2. Cadena Useragent: casi todos los navegadores envían el tipo de navegador que son con cada solicitud. Sin embargo, esto puede ser establecido por el usuario en muchos navegadores hoy en día.

  3. Colección de campos de solicitud: hay otros campos enviados con cada solicitud, como codificaciones compatibles, etc. Estos, si se usan en conjunto, pueden ayudar a identificar la máquina de un usuario, pero de nuevo dependen del navegador y se pueden cambiar.

  4. Cookies: configurar una cookie es otra forma de identificar una máquina, o más específicamente un navegador en una máquina, pero como otros han dicho, estos pueden ser eliminados o desactivados por los usuarios, y solo son aplicables en un navegador, no en un navegador. máquina.

Entonces, la respuesta correcta es que no puedes lograr lo que vivirías solo a través de los protocolos HTTP sobre IP. Sin embargo, al usar una combinación de cookies, así como de IP y los campos de la solicitud HTTP, tiene muchas posibilidades de adivinar qué tipo de máquina es. Los usuarios tienden a usar solo un navegador, y a menudo desde una máquina, por lo que esto puede ser bastante confiable, pero esto variará dependiendo de la audiencia ... es más probable que los técnicos manipulen estas cosas y usen más máquinas / navegadores. Además, esto podría incluso combinarse con algún intento de geolocalizar la IP y también usar esa información. Pero en cualquier caso, no hay solución que sea correcta todo el tiempo.


Suponiendo que no quiere que el usuario tenga el control, no puede. La web no funciona así, lo mejor que puedes esperar es algo de heurística.

Si se trata de una opción para obligar a su visitante a instalar algún software y usar TCPA, es posible que pueda realizar algo.


Una posibilidad es usar cookies flash :

  • Disponibilidad ubicua (el 95 por ciento de los visitantes probablemente tendrá flash)
  • Puede almacenar más datos por cookie (hasta 100 KB)
  • Compartido entre navegadores, por lo que es más probable que identifique de manera única una máquina
  • Borrar las cookies del navegador no elimina las cookies flash.

Tendrá que crear una pequeña película flash (oculta) para leer y escribir.

Cualquiera que sea la ruta que elijas, asegúrate de que tus usuarios opten por ser rastreados, de lo contrario estás invadiendo su privacidad y convirtiéndote en uno de los malos.


Un truco:

  1. Crear 2 páginas de registro:

    Primera página de registro: sin ningún correo electrónico o verificación de seguridad (solo con nombre de usuario y contraseña)

    Segunda página de registro: con alto nivel de seguridad (solicitud de verificación de correo electrónico e imagen de seguridad, etc.)

  2. Para la satisfacción del cliente y el registro fácil, la página de registro predeterminada debe ser (Primera página de registro) pero en la (Primera página de registro) hay una restricción oculta. Es una restricción de IP. Si una IP intentó registrarse por segunda vez, (por ejemplo, menos de 1 hora) en lugar de mostrar la página de bloqueo. puede mostrar la (Segunda página de registro) automáticamente.

  3. en la (Primera página de registro) puede configurar (por ejemplo: bloque 2 intentos desde 1 ip por solo 1 hora o 24 horas) y después (por ejemplo) 1 hora, puede abrir el acceso desde esa ip automáticamente

Tenga en cuenta: (Primera página de registro) y (Segunda página de registro) no deben estar en páginas separadas. usted hace solo 1 página. (por ejemplo: register.php) y hazlo inteligente para cambiar entre First PHP Style y Second PHP Style