Inline-onebox verwendet nicht SiteSetting.onebox_user_agent

Hallo,

wir haben kürzlich Anubis auf unserem Server bereitgestellt, um ihn vor ressourcenintensiven KI-Crawlern zu schützen. Er sendet eine statische Seite mit dem Titel “Making sure you’re not a bot!” an Anfragen, die mit browserähnlichen User-Agents gesendet werden, führt einen JavaScript-Proof-of-Work durch und leitet dann zur eigentlichen Seite weiter. User-Agents, die nicht “Mozilla” im Namen haben, können die Seite direkt aufrufen.

Jetzt sind die Discourse Onebox-Link-Vorschauen kaputt, aber nur für Inline-Links.

Wenn man sich die Server-Logs ansieht, sendet Discourse zwei verschiedene Arten von User-Agents:

  • Discourse Forum Onebox v3.4.1 für große Onebox-Link-Vorschauen (siehe 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 für Inline-Link-Vorschauen (siehe lib/final_destination.rb#L40 in 03f3e84ce520d375aa1c66bb0e95cc5ed9832776)

Ich habe “Force custom user agent hosts” in den Admin-Einstellungen ausprobiert, was besagt “Hosts, für die der benutzerdefinierte Onebox-User-Agent bei allen Anfragen verwendet werden soll.”, aber es hat keinen Unterschied gemacht.

Ich habe auch versucht, die versteckte Einstellung onebox_user_agent zu ändern, aber das ändert nur den User-Agent der regulären Onebox-Link-Vorschau, nicht den für Inline-Links.

Das sieht für mich wie ein Fehler aus. Wäre es nicht sinnvoller, denselben konfigurierbaren Discourse Forum Onebox-User-Agent auch für Inline-Link-Vorschauen zu verwenden?

Danke!

1 „Gefällt mir“

Ich erhalte auch zwei verschiedene Oneboxen, eine HEAD-Anfrage mit einem Browser-User-Agent und eine GET-Anfrage mit einem identifizierbaren User-Agent. Wenn die HEAD-Anfrage umgeleitet wird (zu einer Herausforderungsseite), folgen drei Anfragen, alle zur umgeleiteten Seite.

Ich muss alle HEAD-Anfragen in unserem Herausforderungssystem auf die Whitelist setzen, damit Onebox funktioniert. Nicht nur Inline-Onebox, sondern auch Block-Onebox.

Dies fühlt sich eher wie eine Funktionsanfrage als ein Fehler an. Inline-Onebox und Onebox sind unterschiedliche Funktionen, die das Netzwerk auf unterschiedliche Weise nutzen. Vielleicht benötigen wir hier eine weitere Website-Einstellung.

Es ist in Ordnung für mich, eine weitere versteckte Einstellung für Inline-Oneboxen hinzuzufügen, zumindest wird sie Sie entlasten.