Cómo evitar la actualización de campos específicos de usuario

Hay ciertos campos de usuario que he ocultado usando CSS.
Sin embargo, aún podrían actualizarse usando la consola de Rails, la API o las herramientas de desarrollo.
¿Cómo me aseguro de que nadie pueda actualizar estos campos (por ejemplo, sitio web o ubicación) utilizando los métodos mencionados anteriormente?

Escribe un plugin para cambiar la API (es decir, anula los controladores, el modelo o las funciones de la biblioteca asociada)

Es muy poco probable, por cierto, solo los administradores accederán a la consola de Rails.

4 Me gusta

Si estás ocultando la visualización de estos valores, ¿qué importa si los rellenan? Requeriría que un usuario se esforzara para añadir una ubicación y que otro usuario tuviera que esforzarse para visitar su perfil y ver lo que había introducido.

Aparte de bifurcar Discourse para eliminar esos campos del modelo, no hay mucha manera de evitar que alguien con acceso a la consola de Rails introduzca datos en ellos.

Podrías escribir un plugin que se ejecutara periódicamente y estableciera a nil los campos que quieras. O podrías tener un hook que se llamara cuando se actualizara el perfil del usuario y que pusiera a nil esos campos. Busca un plugin en GitHub - discourse/all-the-plugins que tenga un “add_model_callback” y “:before_save” como ejemplos. Y luego lo harías para UserProfile.

4 Me gusta

Gracias por tus respuestas, lo haré funcionar con eso. Y estoy de acuerdo en que es excesivo bloquear hasta tal punto, pero esa es la tarea.

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