Ich weiß, dass ich die Aktion strip_tags
-Methode in meinen Ansichten verwenden kann, um die Ausgabe zu bereinigen, aber was ist der beste Weg, Benutzereingaben zu bereinigen, bevor ich sie in meiner db persistiere? Sollte ich eine Möglichkeit finden, den View-Helfer in meinen Controller aufzunehmen und die strip_tags-Methode wiederzuverwenden? Ich dachte, Schienen hätten global etwas, um so etwas zu tun.
Warum möchten Sie Benutzereingaben bereinigen? Das macht überhaupt keinen Sinn! Sie möchten Ausgaben immer bereinigen (escape), keine Eingaben, da die Bedeutung der Bereinigung von dem Kontext abhängt, in dem Sie den Inhalt verwenden. Es gibt keine Zeichenfolge, die in irgendeinem Kontext sicher ist. Sie möchten nicht, dass in Ihrer Datenbank ein Haufen verfälschter Strings vorhanden ist, die in jedem Szenario "sicher" sind, in dem Ihre Anwendung sie heute verwendet, denn morgen möchten Sie vielleicht etwas anderes mit ihnen machen. Wenn Ihre Präsentationsebene das Richtige tut (den Inhalt aufgrund des Kontexts zu verlassen), ist alles in Ordnung, egal wie viele Anführungszeichen, umgekehrte Schrägstriche oder DROP TABLE-Anweisungen darin enthalten sind.
Tags und Links xss ruby-on-rails input sanitize