Como evitar a atualização de campos específicos de usuário

Existem certos campos de usuário que ocultei usando CSS. No entanto, eles ainda poderiam ser atualizados usando o console do Rails, API ou ferramentas de desenvolvimento. Como posso garantir que ninguém possa atualizar esses campos (por exemplo, website ou localização) usando os métodos mencionados?

Escreva um plugin para alterar a API (ou seja, substituir os Controladores, o Modelo ou as funções de biblioteca associadas)

Isso é muito improvável, aliás, apenas administradores terão acesso ao console do Rails.

4 curtidas

Se você está ocultando a exibição desses valores, qual a importância de eles preenchê-los? Seria necessário algum artifício do usuário para adicionar uma localização e outro usuário precisaria de um artifício para visitar o perfil dele e ver o que ele inseriu.

Exceto por fazer um fork do Discourse para remover esses campos do modelo, não há muita maneira de impedir que alguém com acesso ao console do rails insira dados neles.

Você poderia escrever um plugin que seria executado periodicamente e definiria quaisquer campos que você quisesse como nil. Ou você poderia ter um hook que é chamado quando o perfil do usuário é atualizado e que anula esses campos. Procure por um plugin em GitHub - discourse/all-the-plugins que tenha um “add_model_callback” e “:before_save” como exemplos. E então você faria isso para UserProfile.

4 curtidas

Obrigado por suas respostas, vou conseguir fazer funcionar com isso. E concordo que é exagero bloquear em tal extensão, mas essa é a tarefa.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.