Opção para habilitar busca apenas para usuários logados?

Existe uma opção para desabilitar a “Pesquisa” para usuários anônimos? Permitir que apenas usuários logados pesquisem no fórum. Agradeço antecipadamente.

2 curtidas

Você deve ocultar a caixa de pesquisa com CSS. Você também precisaria garantir que o Google não indexe seu site, se você realmente quiser que as pessoas não consigam encontrar coisas.

1 curtida

Olá, confira este tópico Hooks from: & to: syntax in yml to disable anonymous searches - #4 by opcourdis

Adicionar a linha abaixo em seu app.yml na seção env:, então ./launcher restart app pode ser útil, embora eu me pergunte se ainda há uma maneira de acessar conteúdos de outra forma para usuários anônimos que também podem definir um cookie de sessão para fingir estar conectados, mas posso estar errado. Se alguém tiver uma opinião sobre isso, sinta-se à vontade para compartilhar

env:
  DISCOURSE_RATE_LIMIT_SEARCH_ANON_GLOBAL_PER_MINUTE: 0

Estou tentando isso, mas os links diretos para as páginas de pesquisa agora retornam apenas este JSON:

{
  "failed":"FAILED",
  "message":"You’ve performed this action too many times, please try again later."
}

Existe outra maneira de fazer isso?

O motivo de eu não poder permitir que usuários anônimos façam buscas no fórum é que um bot sofisticado está raspando dados com consultas como esta:

/search?q=%40UserName+%23general+in%3Afirst

Parece que eles estão mapeando usuários e seu conteúdo para algum tipo de tarefa de mineração de dados. Para proteger os dados dos usuários, quero impedir qualquer acesso anônimo à pesquisa. O problema é que existem links internos para páginas de pesquisa, então qualquer pessoa que não estiver conectada encontrará essa mensagem de JSON incorreta.

Editei os temas para que eles não encontrem a caixa de pesquisa até que façam login, mas qualquer usuário anônimo que clicar em links existentes para um resultado de pesquisa receberá o JSON.

Eles atingiram o fórum com dezenas de milhares de solicitações hoje antes que eu parasse isso.

1 curtida

Provavelmente vai bater 100.000 acessos de bots hoje. :weary_face:

Verifiquem seus próprios fóruns por esse tipo de tráfego, porque parece ser o tipo de coisa em que eles estariam raspando muitos fóruns para obter algum tipo de dados de “busca de pessoas”, vinculando nomes de usuário e conteúdo dos fóruns a identidades reais.

1 curtida

Oi, o que eu proponho aqui não está relacionado à função de busca deste tópico, mas vocês usam um fórum global ou não? Se não, isso é muito útil: GitHub - friendly-bits/geoip-shell: User-friendly and versatile geoblocker for Linux · GitHub e é fácil de configurar e manter.

Os membros da sua comunidade, no entanto, devem estar cientes de que, se viajarem para certos países, talvez não consigam acessar seu site.

Ou todos os que usam uma VPN. Acho que essa é uma opção nuclear, com tantas consequências, e não é uma solução alternativa para o autor da publicação.

Também existem plugins:

1 curtida

Foi por isso que perguntei ao OP se é um fórum mundial ou de nível nacional. Se você mora na Noruega e usa um provedor de VPN europeu, não há chance de aparecer como vindo de um país de um continente remoto que a ferramenta geoip-shell baniria.

Não há nada de nuclear nisso, depende da situação do OP. Vamos ver o que ele diz.

@nat e @sam, qual é a opinião de vocês sobre essa solicitação?

Parece razoável para mim, especialmente considerando o tráfego que eu pessoalmente vejo no endpoint /search para usuários anônimos.

Por outro lado, sei que vocês dois estavam pensando recentemente em como tornar o “Ask AI” disponível para usuários anônimos.

Por outro (outro) lado, talvez, se estivermos pensando na configuração da disponibilidade, isso pudesse estar no escopo para ser considerado como parte disso?

1 curtida

Essa situação é bastante lamentável. Embora eu acredite que a busca deve estar disponível a todos, também compreendo o quanto esse bot está causando problemas. Acredito que as sugestões de bloqueio geográfico acima são muito úteis como primeira linha de defesa, caso os usuários sejam conhecidos por estarem em determinados locais.

Inicialmente, considerei usar search_allowed_groups, mas acho que allow_anonymous_search (com padrão true) seria melhor. Implementar uma funcionalidade baseada em grupos tornaria certos recursos internos que dependem de search um pouco complicados demais.

Com o que foi descrito acima, quando allow_anonymous_search está desativado, todos os recursos de busca (API/UI) ficam indisponíveis para usuários anônimos. A descrição da configuração do site indica isso.

Um ponto em que hesitei é o seguinte: embora a motivação deste PR e da configuração do site seja o combate a ações maliciosas (griefing), questiono se, com allow_anonymous_search desativado, a caixa de texto de busca (que não funciona) ainda deveria ser exibida, incentivando o usuário a se cadastrar ou fazer login. No entanto, não acho que isso deva impedir a fusão deste PR.


Também preferiria que não misturássemos outros recursos nesta solicitação específica, que por enquanto está limitada à rota /search.

2 curtidas

Espero que essa funcionalidade seja adicionada ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Concordo, faria sentido fazer isso. Também concordo que isso não deve bloquear o PR que você criou aqui. E você já tem esta parte, o que ajuda:

Quando definido como falso, anônimos que acessarem /search serão direcionados para a página de login.

Parece suficiente para atender a este pedido como uma primeira etapa.

1 curtida