Inline-onebox non utilizza SiteSetting.onebox_user_agent

Ciao,

abbiamo recentemente distribuito Anubis sul nostro server per proteggerci dai crawler AI ad alta intensità di risorse. Invia una pagina statica con il titolo “Sto verificando che tu non sia un bot!” alle richieste inviate con user agent simili a browser, esegue una proof-of-work javascript e quindi reindirizza alla pagina corretta. Gli user agent che non hanno “Mozilla” nel nome possono accedere direttamente alla pagina.

Ora le anteprime dei link onebox di Discourse sono interrotte, ma solo per i link inline.

Guardando i log del server, Discourse invia due diversi tipi di user agent:

  • Discourse Forum Onebox v3.4.1 per le anteprime dei link onebox grandi (vedi lib/onebox/helpers.rb#L217-L226 in 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 per le anteprime dei link inline (vedi lib/final_destination.rb#L40 in 03f3e84ce520d375aa1c66bb0e95cc5ed9832776)

Ho provato “Forza user agent personalizzato per gli host” nelle impostazioni di amministrazione, che afferma “Host per i quali utilizzare lo user agent onebox personalizzato su tutte le richieste.”, ma non ha fatto differenza.

Ho anche provato a modificare l’impostazione nascosta onebox_user_agent, ma cambia solo lo user agent della normale anteprima del link onebox, non quello inline.

Questo mi sembra un bug, non avrebbe più senso utilizzare lo stesso user agent configurabile Discourse Forum Onebox anche per le anteprime dei link inline?

Grazie!

1 Mi Piace

Ottengo anche due onebox diversi, una richiesta HEAD che utilizza un user-agent del browser e una richiesta GET che utilizza un user-agent identificabile. Se la richiesta HEAD viene reindirizzata (a una pagina di sfida), seguono tre richieste, tutte alla pagina reindirizzata.

Devo mettere nella whitelist tutte le richieste HEAD nel nostro sistema di sfide affinché onebox funzioni. Non solo inline-onebox, ma anche block onebox.

Sembra una richiesta di funzionalità anziché un bug. inline onebox e onebox sono funzionalità diverse che utilizzano la rete in modi diversi. Forse abbiamo bisogno di un’altra impostazione del sito qui.

Vanno bene se aggiungiamo un’altra impostazione nascosta per gli inline onebox, almeno ti sbloccherà.