Inline-onebox no utiliza SiteSetting.onebox_user_agent

Hola,

Recientemente hemos implementado Anubis en nuestro servidor para protegernos contra rastreadores de IA que consumen muchos recursos. Envía una página estática con el título “¡Asegurándonos de que no eres un bot!” a las solicitudes enviadas con agentes de usuario similares a los de un navegador, realiza una prueba de trabajo de JavaScript y luego redirige a la página correcta. Los agentes de usuario que no tienen “Mozilla” en el nombre pueden acceder directamente a la página.

Ahora, las vistas previas de enlaces de onebox de Discourse están rotas, pero solo para enlaces en línea.

Al observar los registros del servidor, Discourse envía dos tipos diferentes de agentes de usuario:

  • Discourse Forum Onebox v3.4.1 para vistas previas de enlaces de onebox grandes (ver lib/onebox/helpers.rb#L217-L226 en 03f3e84ce520d375aa1c66bb0e95cc5ed9832776)

  • Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15 para vistas previas de enlaces en línea (ver lib/final_destination.rb#L40 en 03f3e84ce520d375aa1c66bb0e95cc5ed9832776)

He probado “Forzar agente de usuario personalizado para hosts” en la configuración de administrador, que afirma “Hosts para los que usar el agente de usuario onebox personalizado en todas las solicitudes.”, pero no marcó la diferencia.

También he probado a cambiar la configuración oculta onebox_user_agent, pero solo cambia el agente de usuario de la vista previa de enlaces onebox normal, no el en línea.

Esto me parece un error, ¿no tendría más sentido usar el mismo agente de usuario configurable Discourse Forum Onebox para las vistas previas de enlaces en línea también?

¡Gracias!

1 me gusta

Recibo dos onebox diferentes también, una solicitud HEAD que usa un user-agent de navegador y una solicitud GET que usa un user-agent identificable. Si la solicitud HEAD se redirige (a una página de desafío), siguen tres solicitudes, todas a la página redirigida.

Tengo que poner en lista blanca todas las solicitudes HEAD en nuestro sistema de desafíos para que onebox funcione. No solo inline-onebox, sino también block onebox.

Esto se siente más como una solicitud de característica que como un error. Los onebox en línea y los onebox son características diferentes que utilizan la red de maneras distintas. Quizás necesitemos otra configuración del sitio aquí.

Estoy de acuerdo con agregar otra configuración oculta para los onebox en línea, al menos eso te permitirá avanzar.