2010-11-18 8 views
0

Ich habe eine Anwendung erstellt, mit der Benutzer viele verschiedene Daten (Beiträge, Kommentare, etc.) eingeben können. Das simple_format tut mir jetzt gut, ich will mich nur vor verrückten Sachen schützen. Ich habe vor und nach der Lektüre einiger Leitfäden keine Desinfektion durchgeführt. Ich bin immer noch ein wenig verwirrt darüber, wie ich es umsetzen soll. Hoffentlich kann ich hier eine Richtung finden.Implementierung sanitize simple_format in Schienen 2.3.8

Sagen wir, ich sammle @ post.body. Wie entferne ich <div> Tags oder <script> Tags, die vom Benutzer eingegeben werden könnten? Ich gehe davon aus, dass in der Ansicht es in etwa so aussehen würde:

<%= sanatize(simple_format @post.body) %> 

... aber wo definiere ich, was Tags sind nicht erlaubt? Im Post-Modell oder in einem sanitize_helper? Was ist die korrekte Syntax hier?

+0

Dieser "Sanatize" Tippfehler ist urkomisch lol !! ;) – jpemberthy

Antwort

3

Hier ist der Dokumentationslink für die Methode sanitize in Rails 2.3.8. In diesem Sinne können Sie erlaubt Tags auf diese Weise definieren:

<%= sanitize(simple_format(@post.body), :tags => %w(p span strong)) %> 

Beachten Sie, dass sie auch in der Rails Initializer definieren:

Rails::Initializer.run do |config| 
    config.action_view.sanitized_allowed_tags = 'table', 'tr', 'td' 
    end 

Ich hoffe, Sie finden diese Informationen hilfreich!

+0

Genau das habe ich gesucht. Danke. – bgadoci

Verwandte Themen