Probando comentar como anónimo. Perdón si molesta
Algunos fixes en el blog que a nadie le interesan y otras yerbas
Si, ya sé, lo hice hace un par de meses, lo hago ahora de nuevo, contarles algunas cosas que cambié en el blog para que mejore un poco la experiencia de usuario. Eso no significa que lo noten ni que la mejore, claro 😁
También estuve reparando algunos sitios y encontré algunas soluciones, paso a detallar.
Recaptcha para los comentarios
Durante los últimos 16 años usé un método RECONTRA primitivo de captcha para controlar los comentarios spammers, lamentablemente dependía de la sesión de PHP y cuando uno se pasaba mucho tiempo leyendo no se renovaba y te marcaba el comentario como inválido. Me han puteado mucho por eso, pero no tenía opción.
Hace poco implementé recaptcha de Google para la suscripción al newsletter y anoche lo pasé a los comentarios del blog.
¿Es perfecto? No! Ya encontré un par que quisieron dejar comentario en el posteo de ayer y no se los tomó, eso además me hizo detectar otro problema horrible y es que no "recordaba" el comentario y te borraba todo lo que habías escrito.
Esa función dejó de andar hace mucho tiempo pero ayer la recuperé, la hice funcionar bien con cookie (si no aceptan cookies, jódanse) y listo, cuando te tira mensaje de error ahora te lo muestra bien y te "recupera" lo que habías escrito para intentar hacerlo de nuevo.
¿Cuándo falla Recaptcha? Puede ser para los que bloqueen excesivamente javascript (depende de Google) y/o para los que Google considere con "puntaje bajo". Voy a estar monitoreando.
Tengan en cuenta que esto sólo afecta a aquellos que no están registrados/logueados, el resto no necesita de esto.
También lo agregué en el Login, uno de los vectores de ataque más comunes en todo sitio web.
Rehaciendo el scrapper de Links de Viernes
En el medio me puse a rehacer el scrapper de LinksDV, la cosa es así, para obtener de una URL un título, descripción e imagen es, hoy en día, prácticamente imposible.
¿Por qué? Porque muchos dueños de sitios se hincharon las pelotas de los scrappers con razón porque le chupan el contenido entero del sitio varias veces por día, lo usan para clonar, para entrenar AI o para atacar, el problema de eso es el aumento exponencial de ancho de banda y de CPU que no va a parar a ningún lado, ningún usuario se beneficia por ello.
Y yo sólo quería facilitar la tarea de compartir un link!
Pero bueno, me tengo que joder, así que me puse a reprogramar toda esa parte porque hay algunos enlaces que no logra descular.
El proceso que estoy armando pasa por varias etapas, primero hago un Get Headers, algo que lamentablemente bloquean muchos (es tonto bloquear esto, pero lo hacen), luego intento con un file_get_contents que usualmente también falla, si eso falla paso a un CURL que suele funcionar en la mayoría de los casos... si es que lo ejecuto de forma local, si lo hago en mi servidor, falla a veces.
Ahí paso a GuzzleHTTP, un script gigante de Google, 40Mb de las cuales debo estar usando el 0.1%, pero a veces, gracias a los métodos más draconianos de Cloudflare, recibo un error 429 o un 403, a veces hasta un 404.
Ahora tengo que programar lo más experimental de todo, no creo que lo termine usando, que es re bizarro, PHP Webdriver combinado con Firefox-geckodriver, que es básicamente crear una instancia de un browser headless en un servidor, no hace falta que renderice, y tomar el código fuente de la web con eso para poder screpear título y descripción. Una locura, pero es el métood overkill cuando todo lo demás falla.
Encontré algunos sitios que te cobran por ofrecerte una API a lo mismo, creo que si lo armo yo será más barato 😅 además ¿Por qué no? Es experimentar, ya hice unas pocas pruebas y funcionó, pero se tarda hasta 20 segundos en obtener la info del sitio bloqueado. ¿Alguna idea?
Otros posts que podrían llegar a gustarte...