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?
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.
Nein, wir haben nie eine Website-Einstellung dafür hinzugefügt. Wir brauchen immer noch eine. Ich werde das Team benachrichtigen, dass es Sie beeinträchtigt.
Der PR mit der versteckten Einstellung inline_onebox_user_agent wurde zusammengeführt. Sie können ihn verwenden, um den Agenten-Header für Inline-Oneboxen zu überschreiben.
@osmith, können Sie bitte bestätigen, ob diese Einstellung das Problem mit Inline-Links und Anubis löst?