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?

Si te gustó esta nota podés...
Invitame un café en cafecito.app

Categoría: Programación Etiquetas:  blog desarrollo php programación

Otros posts que podrían llegar a gustarte...

Comentarios

  • un pobrecito hablador     31/01/2024 - 01:43:03

    Probando comentar como anónimo. Perdón si molesta

    • Fabio Baccaglioni     31/01/2024 - 09:59:32

      está perfecto, para eso era 😁 hay que testearlo!

  • Alejandro     31/01/2024 - 05:58:31

    Me borraron un par de veces los comentarios y me hinché, pero acá sigo, firme al pie del cañon!

  • Osvaldo     31/01/2024 - 11:41:09

    No entiendo un pirulo de lo que estás hablando, pero me está costando comentar sin estar logueado

    • Fabio Baccaglioni     31/01/2024 - 11:46:33

      si, le puse un umbral tal vez un poquito "alto" a ReCaptcha, por cada comentario calcula un puntaje que lo saca de tu browser, ahora voy a loguear esa data para ver qué valor le da a los que les falla, por las dudas.

      Es ajuste fino!

  • Acerbus Pluribus     31/01/2024 - 17:20:08

    Interesante, quizás me anime a volver a intentar usar reCaptcha.

    • Fabio Baccaglioni     01/02/2024 - 00:50:02

      fue bastante fácil por cierto, lo único malo es que es de Google y no confío en ellos, pero como tienen tanta cosa asociada a Recaptcha no temo que lo den de baja: no requiere mucho para funcionar y la data que sacan de ahí la usan para limitar el spam en general, así que es un mal menor.

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https

Negrita Cursiva Imagen Enlace


Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.