Facebook
From Speedy Cassowary, 2 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 139
  1. 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.
  2.  
  3. 1.-La gente pone a jugar a la máquina contra la máquina.
  4. 2.-La gente usa Adblock.
  5. 3.-Los bots autimatizados.
  6.  
  7. 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.
  8.  
  9. Entonces empecemos con el primer punto:
  10.  
  11. 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.
  12.  
  13. [color=green]https://blockadblock.com/blockadblock_basic_script.php[/color]
  14.  
  15. 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.
  16.  
  17. Ahora, el tema del Bot.
  18.  
  19. Te explicaré paso a paso como funciona y sus extensiones.
  20.  
  21. 1.-Montamos un servidor en nuestra computadora (instalación de [color=red]Wamp, php, python, winrar[/color]), esto es para que usemos el programa [color=red]Stockfish[/color] el cual es Ajedrez en linea de comandos en nuestra computadora y a través del servidor mandar la respuesta al sitio.
  22.  
  23.  
  24. [quote]<?php
  25.  
  26.         $board = array();
  27.         if ($_SERVER["REQUEST_METHOD"] == "POST") {
  28.                 $board = $_POST["board"];
  29.                 file_put_contents("data.txt", $board);
  30.                 $result = exec("python index.py");
  31.                 echo $result;
  32.                 die();
  33.         }
  34.  
  35. ?>[/quote]
  36.  
  37. 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 [color=red]tampermonkey[/color] y el script utilizado para este bot es el siguiente:
  38.  
  39. [color=green]https://greasyfork.org/fr/scripts/428003-bot-chessfaucet-com-js-php-and-python/code[/color]
  40.  
  41.  
  42. Como podemos observar en la siguiente linea, el programa utiliza el [color=red]indicador inferior[/color] para saber si es su turno:
  43.  
  44. [code]    // If it is your turn, it sends board to localhost server.
  45. document.getElementsByClassName("indicador_inferior")[0].children.item(0).src.includes("indicador_blancas")[/code]
  46.  
  47. Y para mover la pieza lo hace directo inyectando el código en la seccion [color=red]tbody[/color]
  48.  
  49. [code]    // Move piece.
  50. document.getElementsByTagName("tbody")[0].children.item(move.charAt(0)).children.item(move.charAt(1)).children.item(0).click();[/code]
  51.  
  52. En el código podemos ver que la maña de este bot es que cuando lo usas este usa el sistema de referidos:
  53.  
  54. [color=green]https://github.com/m4ksyme/chess-faucet/blob/master/chessfaucet.com.url[/color]
  55. https://www.chessfaucet.com/cgi-bin/indexen.py?r=12oWM...
  56.  
  57. 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.
  58.  
  59. Ahora viene la parte de las soluciones.
  60.  
  61. 1.-Evitar que los usuarios bloquén los anuncios con algún script como lo comenté al principio.
  62. 2.-Eliminar los indicadores de turnos.
  63.  
  64. [code]<div id="indicador_superior" class="indicador_superior"><img src="../indicador_neutro.png"></div>
  65. <div id="indicador_inferior" class="indicador_inferior"><img src="../indicador_blancas.gif"></div>[/code]
  66.  
  67. 3.-Crear un popup con temporizador cada 10 minutos para evitar bots haciendo clicks automatizados:
  68.  
  69. [color=green]https://codepen.io/namimosha/pen/wGJbPR[/color]
  70.  
  71. Incluso podrías incluir anuncios en el popup.
  72.  
  73. 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.