Frage

Ich weiß, ich kann den ActionView -Helfer verwenden strip_tags Methode in meinen Ansichten zur Bereinigung der Ausgabe, aber was ist der beste Weg, um die Benutzereingabe zu desinfizieren, bevor ich sie an meinem DB bestieg? Sollte ich einen Weg finden, den Ansichtshelfer in meinen Controller aufzunehmen und die Methode von Strip_tags wiederzuverwenden? Ich dachte, Rails hätte weltweit etwas zur Verfügung, um so etwas zu tun.

War es hilfreich?

Lösung

Was ist mit XSS_termate Plugin?

Andere Tipps

Vielleicht desinfizieren Sie Gem: http://wonko.com/post/sanitize

Warum müssen Sie die Eingabe des Benutzers bereinigen?

In der Regel ist alles, was benötigt wird, rigoros, kontextbewusster Codierung/Entweichen der Eingabe des Benutzers, wenn Sie sie drucken oder in einen größeren Ausgangsblock einbetten.

Warum möchten Sie Benutzereingaben sanieren? Das macht keinen Sinn! Sie möchten immer (Escape-) Ausgänge und keine Eingaben sanieren, da die Bedeutung der Desinfektion vom Kontext abhängt, in dem Sie den Inhalt verwenden. Es gibt keine Schnur, die in einem Kontext sicher ist. Sie möchten nicht, dass in Ihrer Datenbank eine Reihe verstümmelter Zeichenfolgen in Ihrem Szenario "sicher" sind, in dem Ihre Anwendung heute verwendet wird, da Sie morgen vielleicht etwas anderes mit ihnen machen möchten. Wenn Ihre Präsentationsebene das Richtige tut (in dem Kontext entkommen), geht es Ihnen gut, egal wie viele Zitate, Backslashes oder Drop -Tabellen -Anweisungen in ihnen sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top