Buen día colega, te dejo mi análisis en pastebin ya que el foro no me dejó publicar tanto código y tanto enlace
https://pastebin.pl/view/bd6167ee----------- Mensaje sin enlaces ni códigos -------------------------
He revisado a fondo la información a fondo con la intención de ayudarte colega, veo que tienes 3 problemas diferentes con tu página.
1.-La gente pone a jugar a la máquina contra la máquina.
2.-La gente usa Adblock.
3.-Los bots autimatizados.
Así que me gustaría que analicemos cada punto y proponer soluciones ya que es un buen servicio el que ofreces y el echo de congelar los retiros puede ahuyentar a la gente.
Entonces empecemos con el primer punto:
Los usuarios seguirán usando programas o páginas de ajedrez para tener mas probabilidades de ganar y no creo que esto sea tan malo, al final están visualizando una partida de ajedrez de principio a fin y algo se les pegará. Lo que si es preocupante es el echo de que bloquén la publicidad, y este es un tema que es responsabilidad del servidor y no del el usuario. Deberías implementar en tu servicio un script como el siguiente para evitar que la gente pueda usar adblock.
Esto será un buen filtro pero no es 100% seguro y esto se debe a que nosotros podemos inyectar código en la consola y eliminar partes de el código html en la página, alguien con conocimientos avanzados puede hacerlo parte de un BOT, sin embargo servirá contra todos aquellos que decidan seguir los tutoriales de youtube que has compartido.
Ahora, el tema del Bot.
Te explicaré paso a paso como funciona y sus extensiones.
1.-Montamos un servidor en nuestra computadora (instalación de
Wamp, php, python, winrar), esto es para que usemos el programa
Stockfish el cual es Ajedrez en linea de comandos en nuestra computadora y a través del servidor mandar la respuesta al sitio.
2.-Ya que tenemos el servidor montado (con la capacidad de enviar información al sitio) ahora necesitamos leer lo que está pasando en el sitio y mover las piezas, para esto se está usando la exención de
tampermonkey y el script utilizado para este bot es el siguiente:
Como podemos observar en la siguiente linea, el programa utiliza el
indicador inferior para saber si es su turno:
Y para mover la pieza lo hace directo inyectando el código en la seccion
tbody En el código podemos ver que la maña de este bot es que cuando lo usas este usa el sistema de referidos:
Y esa es la forma real en que el bot piensa generar sus ganancias, sin embargo ya sabes cual es la dirección que deberías de mandar a la lista negra por abuso.
Ahora viene la parte de las soluciones.
1.-Evitar que los usuarios bloquén los anuncios con algún script como lo comenté al principio.
2.-Eliminar los indicadores de turnos.
3.-Crear un popup con temporizador cada 10 minutos para evitar bots haciendo clicks automatizados:
https://codepen.io/namimosha/pen/wGJbPR Incluso podrías incluir anuncios en el popup.
Y con esto quedaría resulto el problema, aun que no dudes que alguien llegará a intentar automatizarlo nuevamente, esto es inevitable, todas las faucets son objetivos de este tipo de ataques.
---------------
Sigo en proceso de la instalación del código, eso de configurar máquinas virtuales toma algo de tiempo, pero espero en las siguientes horas traer noticias de como me fue con eso.