Olá, gostaria de reconstruir o aplicativo incluindo algumas modificações em um arquivo para desabilitar o recurso de busca para usuários anônimos (mais do que apenas com CSS).
Alguém pode me fornecer alguma documentação para a sintaxe desses hooks para a parte from: e to:?
replace
filename:“/var/www/discourse/app/controllers/search_controller.rb”
from:
to:
Em search_controller.rb, eu só quero substituir a linha 12 por
def show
por
def show
if current_user.present?
E a linha 76
format.json { render_json_dump(serializer) }
por
format.json { render_json_dump(serializer) }
end
Obrigado por apontar isso. Só para esclarecer, qual é o nome da configuração oculta do site? E ela desabilita completamente a pesquisa para usuários anônimos, ou apenas oculta os resultados? Estou procurando uma maneira de bloquear o acesso no nível do controller, então queria saber se essa configuração sozinha é suficiente ou se algum código personalizado ainda é necessário.
Agora a página /search está inacessível = ótimo
Agora o botão de pesquisa no front-end retorna instantaneamente: você realizou esta ação muitas vezes = ótimo
Você pode ocultar o botão de pesquisa com:
Mas a questão é: isso é completo? Alguém pode simplesmente criar um cookie de sessão simples para parecer que está conectado, para que possa acessar o conteúdo do site por meio de pesquisas?
Solução mais completa, mas incompleta:
O arquivo é: /var/www/discourse/app/controllers/search_controller.rb
A modificação: adicione “if current_user.present?” após “def show” e adicione um “end” no final da condição.
No entanto, não consegui torná-lo persistente após a reinicialização, então qualquer pessoa é bem-vinda para dizer como torná-lo persistente após a reinicialização com os ganchos do app.yml after_code replace: feature.
Quero dizer um usuário não logado que criaria um cookie de sessão para fingir que está logado, mas talvez eu esteja viajando um pouco aqui, já que eu acho que a função currentUser verifica a chave de sessão.
“Isso seria um problema de segurança. Se você conseguir fazer isso, certifique-se de relatar para HackerOne”
Não, sou novo no discourse, nem consigo citar direito , eu só estava perguntando, talvez houvesse algum engenheiro do discourse por perto ; de qualquer forma, conseguimos nossa solução para este tópico graças a você, Falco
mas não hesite em tentar isso no nível do controlador:
/var/www/discourse/app/controllers/search_controller.rb
A alteração: adicione "if current_user.present?" depois de "def show" e adicione um "end" no final da condição.