¿Cómo bloquear el acceso desde una sola computadora, aparte de bloquear la IP?

1

Aquí está el escenario:

Tengo una aplicación, cuya única función / parte es generar llamadas de voz. También proporcioné una demostración (en funcionamiento) para generar llamadas desde el sitio web, ingresando su número (sin iniciar sesión). Para evitar el uso indebido, he agregado un límite de CAPTCHA e IP.

Pero hay un usuario, que ingresa manualmente un número de teléfono y continúa generando llamadas. Siguen cambiando su IP, por lo que CAPTCHA y el límite de IP no funcionan. Y me cuesta dinero, ya que en su mayoría generan llamadas internacionales. El bloqueo de llamadas internacionales tampoco es una opción, ya que también ofrezco servicios internacionales.

¿Hay alguna forma de evitar esto, sin eliminar la demostración gratuita?

Estaba pensando en hacer esto usando la dirección MAC, o algo similar, que bloquea una computadora en particular, pero sé que todavía habrá lagunas legales debido a la falsificación de la dirección MAC.

¿Cómo puedo resolver esto? Estoy usando PHP.

    
pregunta kadamb 27.09.2017 - 09:07
fuente

1 respuesta

1

Un par de ideas:

Primero, lo obvio:

  • Cambia tu ip pública a otra. Entonces migre el servicio y notifíquelo a los usuarios legítimos de la demostración.

De todos modos, este no es un método definitivo, quizás otro (o el mismo usuario "malvado") pueda escanearlo y encontrarlo nuevamente.

Segundo:

Utilice detonación de puertos . Esta es una buena solución para abrir servicios a Internet que no quiere que se abuse de ellos. Pero el problema podría ser "difícil" para abrir el puerto para algunos usuarios. No estoy seguro si tiene una base de datos de clientes que se supone que puede utilizar su servicio de demostración gratuita. Si lo tiene, tal vez pueda notificar a todos cómo hacerlo.

Un pequeño ejemplo. Supongamos que su servicio está utilizando el puerto 12345 y usted ya tiene configurada la detonación de puertos. Cualquier persona que escanee su IP pública tendrá una respuesta "filtrada" en ese puerto. Puede configurar una combinación de puertos para abrirlo solo para la llamada IP. Supongamos que la combinación de puertos para abrirlo es 5555, 3432 y 10678.

Puede enviar las instrucciones a sus clientes para abrirlo usando nmap haciendo:

for x in 5555 3432 10678; do nmap -Pn --host_timeout 201 --scan-delay 0.5 --max-retries 0 -p $x <yourPublicIp>; done

Como dije, tal vez sea demasiado complicado para algunos clientes. Depende del tipo de tus clientes. Si son personal de TI, no tendrán problemas.

    
respondido por el OscarAkaElvis 27.09.2017 - 09:34
fuente

Lea otras preguntas en las etiquetas