Je me demandais quand il est sûr d'utiliser html_safe
et quand non. J'ai lu que vous ne voulez pas faire ceci si le code peut contenir le contenu d'utilisateur. Qu'est-ce que cela signifie en pratique?Comment utiliser html_safe de manière sécurisée?
flash[:danger]="Dear #{@user.username} <br> please take a look #{view_context.link_to('here', some_path)}" <br> Your organization #{@user.organizationname} bla bla"
Par exemple, pour un message flash comme celui-ci, il faudra html_safe
pour afficher correctement, mais il contient également dans ce cas username
et organizationname
qui est contenu entré par l'utilisateur. Est-il encore sûr d'utiliser html_safe
...?
Comment est-ce en ce qui concerne les messages d'erreur partagés? J'ai: '<% object.errors.full_messages.each faire | msg | %> ''
Je pense qu'il est courant et pratique courante d'avoir du texte brut uniquement dans les messages d'erreur d'enregistrement actif. Je n'ai jamais vu quelqu'un faire 'html_safe' sur eux. Donc, je voudrais absolument omettre le html_safe pour la sécurité supplémentaire jusqu'à ce que vous en ayez vraiment besoin. Je ne pense pas qu'un fournisseur de gem raisonnable fasse ou doive placer le HTML dans les messages d'erreur d'enregistrement actifs. –