Inline-onebox não usa SiteSetting.onebox_user_agent

Olá,

recentemente implementamos o Anubis em nosso servidor para nos proteger contra rastreadores de IA que consomem muitos recursos. Ele envia uma página estática com o título “Garantindo que você não é um bot!” para requisições enviadas com user agents semelhantes aos de navegadores, realiza uma prova de trabalho em JavaScript e, em seguida, redireciona para a página correta. User agents que não contêm “Mozilla” em seu nome podem acessar a página diretamente.

Agora, as pré-visualizações de links do discourse onebox estão quebradas, mas apenas para links inline.

Analisando os logs do servidor, o discourse envia dois tipos diferentes de user agents:

  • Discourse Forum Onebox v3.4.1 para pré-visualizações de links onebox grandes (veja lib/onebox/helpers.rb#L217-L226 em 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 pré-visualizações de links inline (veja lib/final_destination.rb#L40 em 03f3e84ce520d375aa1c66bb0e95cc5ed9832776)

Tentei usar “Forçar user agent customizado para hosts” nas configurações de administrador, que afirma “Hosts para os quais usar o user agent onebox customizado em todas as requisições.”, mas isso não fez diferença.

Também testei alterar a configuração oculta onebox_user_agent, mas isso apenas altera o user agent da pré-visualização de link onebox regular, não o inline.

Isso parece um bug para mim, não faria mais sentido usar o mesmo user agent configurável Discourse Forum Onebox para pré-visualizações de links inline também?

Obrigado!

1 curtida

Recebo dois onebox diferentes também, uma solicitação HEAD usando um user-agent de navegador e uma solicitação GET usando um user-agent identificável. Se a solicitação HEAD for redirecionada (para uma página de desafio), três solicitações seguirão, todas para a página redirecionada.

Tenho que colocar na lista de permissões todas as solicitações HEAD em nosso sistema de desafio para que o onebox funcione. Não apenas o inline-onebox, mas também o block onebox.

Isso parece uma solicitação de recurso em vez de um bug. O onebox inline e o onebox são recursos diferentes que usam a rede de maneiras diferentes. Talvez precisemos de outra configuração de site aqui.

Eu não me importo em adicionar outra configuração oculta para oneboxes inline, pelo menos isso irá te desbloquear.

Isso foi resolvido? Também estamos recebendo reclamações no Fedora Discussion.

Não, nunca adicionamos uma configuração de site para isso. Ainda precisamos de uma. Avisarei a equipe que isso está afetando você.

A PR com a configuração oculta inline_onebox_user_agent foi mesclada. Você pode usá-la para substituir o cabeçalho do agente para oneboxes embutidos.

@osmith, você pode confirmar se essa configuração está resolvendo o problema com links embutidos e o Anubis?