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

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

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

    • 3
      En respuesta a 1
      Fabio Baccaglioni     31/01/2024 - 09:59:32

      est谩 perfecto, para eso era 馃榿 hay que testearlo!

  • 2
    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!

  • 4
    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

    • 5
      En respuesta a 4
      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!

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

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

    • 7
      En respuesta a 6
      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
Comentarios ofensivos o que no hagan al enriquecimiento del post ser谩n borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.