Comment empêcher la mise à jour de champs utilisateur spécifiques

Certains champs utilisateur que j’ai masqués à l’aide de CSS pourraient toujours être mis à jour via la console Rails, l’API ou les outils de développement. Comment puis-je m’assurer que personne ne puisse mettre à jour ces champs (par exemple, le site Web ou l’emplacement) en utilisant les méthodes susmentionnées ?

Écrivez un plugin pour modifier l’API (c’est-à-dire remplacer les contrôleurs, le modèle ou les fonctions de bibliothèque associées)

C’est très peu probable d’ailleurs, seuls les administrateurs auront accès à la console Rails.

4 « J'aime »

Si vous masquez l’affichage de ces valeurs, quelle importance y a-t-il à ce qu’ils les remplissent ? Il faudrait une certaine ingéniosité de la part de l’utilisateur pour ajouter un emplacement et un autre utilisateur devrait faire preuve d’ingéniosité pour visiter son profil et voir ce qu’il a entré.

À moins de forker Discourse pour supprimer ces champs du modèle, il n’y a pas beaucoup de moyens d’empêcher quelqu’un ayant accès à la console Rails d’y saisir des données.

Vous pourriez écrire un plugin qui s’exécuterait périodiquement et mettrait à nil les champs de votre choix. Ou vous pourriez avoir un hook qui serait appelé lors de la mise à jour du profil utilisateur et qui mettrait ces champs à nil. Recherchez un plugin sur GitHub - discourse/all-the-plugins qui a un “add_model_callback” et “:before_save” pour quelques exemples. Et ensuite, vous le feriez pour UserProfile.

4 « J'aime »

Merci pour vos réponses, je vais y arriver avec ça. Et je suis d’accord que c’est excessif de bloquer à ce point, mais c’est ça la consigne.

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