2010-09-15 9 views
2

Je ne fais que commencer avec RoR (et le développement web en général).

Je sais que lors de la sortie des données fournies par l'utilisateur, nous devrions y échapper avec l'aide h().

Existe-t-il un moyen de s'assurer que toutes les données de formulaire (paramètres?) Reçues par une action sont garanties d'être échappées automatiquement? (Je comprends que c'est une sage décision d'échapper HTML lors de l'affichage dans une vue, ce que je ferai dans tous les cas).Comment faire pour échapper automatiquement HTML dans Ruby on Rails?

Répondre

3

Je ne sais pas si c'est la réponse que vous cherchiez, mais vous pouvez le faire en mettant à jour votre application à rails3 - en citant Ryan Bates "In Rails 3, cependant, la sortie est échappée automatiquement donc il n'y a pas besoin de mettre la méthode h "- lire le asciicast ou regarder le railscast :)

+0

Merci, c'est une bonne nouvelle sur le front de" sortie ", mais je me demandais s'il était possible de faire l'échappement de telle sorte que même l'action obtiendrait seulement HTML texte escamoté? (Aimerait utiliser Rails 3.0 mais il semble y avoir des problèmes avec mysql2 gem qui ne fonctionne pas avec ça :() – Zabba

+0

On dirait qu'il y a un plug pour cela (pour RoR 2.3.7+, je crois) appelé rails_xss. pour vos entrées! – Zabba