Ci sono determinati campi utente che ho nascosto usando CSS.
Tuttavia, potrebbero ancora essere aggiornati usando la console rails, l’API o gli strumenti per sviluppatori.
Come posso assicurarmi che nessuno possa aggiornare questi campi (ad esempio sito web o posizione) utilizzando i metodi sopra menzionati?
Scrivi un plugin per modificare l’API (cioè sovrascrivi i controller, il modello o le funzioni di libreria associate)
È molto improbabile, comunque, solo gli amministratori avranno accesso alla console di Rails.
Se nascondi la visualizzazione di questi valori, che importa se li inseriscono? Richiederebbe un certo sforzo da parte dell’utente per aggiungere una posizione e un altro utente dovrebbe sforzarsi di visitare il proprio profilo per vedere cosa aveva inserito.
A meno di non creare un fork di Discourse per rimuovere quei campi dal modello, non c’è molto modo di impedire a qualcuno con accesso alla console rails di inserire dati in essi.
Potresti scrivere un plugin che venga eseguito periodicamente e imposti a nil i campi che desideri. Oppure potresti avere un hook che viene chiamato quando il profilo dell’utente viene aggiornato che imposta a nil quei campi. Cerca un plugin in GitHub - discourse/all-the-plugins che abbia un “add_model_callback” e “:before_save” per alcuni esempi. E poi lo faresti per UserProfile.
Grazie per le tue risposte, ci riuscirò con questo. E sono d’accordo che sia eccessivo bloccare a tal punto, ma questo è il compito.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.